Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Distribuera en vm-skalningsuppsättningsbild.
Anmärkning
Den här versionen av uppgiften använder Azure RBAC för att ansluta till Azure Storage. Mer information finns i Konfigurera Azure RBAC för att få åtkomst till Azure Storage.
Syntax
# Azure VM scale set deployment v1
# Deploy a virtual machine scale set image.
- task: AzureVmssDeployment@1
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
vmssName: # string. Required. Virtual Machine scale set name.
vmssOsType: # 'Windows' | 'Linux'. Required. OS type.
# Image Details
#imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL.
# Configure start-up
#customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory.
#customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command.
#customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments.
#customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded.
# Advanced
#skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.
Ingångar
azureSubscription
-
Azure-prenumeration
Indataalias: ConnectedServiceName.
string. Obligatoriskt.
Välj Azure Resource Manager-prenumerationen för skalningsuppsättningen.
action
-
åtgärd
string. Obligatoriskt. Tillåtna värden: Update image (Uppdatera VM-skalningsuppsättning med hjälp av en avbildning), Configure application startup (Kör tillägget för anpassad skript-VM på VM-skalningsuppsättningen). Standardvärde: Update image.
Välj mellan att uppdatera en VM-skalningsuppsättning med hjälp av en VHD-avbildning och/eller genom att köra distributions-/installationsskript med hjälp av VM-tillägget för anpassat skript.
VHD-avbildningsmetoden är bättre för att skala snabbt och göra återställning. Tilläggsmetoden är användbar för konfiguration efter distribution, programvaruinstallation eller någon annan konfigurations-/hanteringsuppgift.
Du kan bara använda en VHD-avbildning för att uppdatera en VM-skalningsuppsättning när den har skapats med hjälp av en anpassad avbildning, uppdateringen misslyckas om VM-skalningsuppsättningen skapades med hjälp av en plattforms-/galleriavbildning som är tillgänglig i Azure.
Metoden för VM-tillägg med anpassat skript kan användas för VM-skalningsuppsättning som skapats med hjälp av antingen en anpassad avbildning eller en plattforms-/galleriavbildning.
vmssName
-
vm-skalningsuppsättningens namn
string. Obligatoriskt.
Namnet på VM-skalningsuppsättningen som du vill uppdatera med hjälp av antingen en VHD-avbildning eller med hjälp av VM-tillägget för anpassat skript.
vmssOsType
-
operativsystemtyp
string. Obligatoriskt. Tillåtna värden: Windows, Linux.
Välj operativsystemtyp för VM-skalningsuppsättningen.
imageUrl
-
bild-URL
string. Krävs när action = Update image || action = UpdateImage.
Ange URL:en för VHD-avbildningen. Om det är en Azure Storage blob-URL ska lagringskontots plats vara samma som skalningsuppsättningens plats.
customScriptsDirectory
-
Anpassad skriptkatalog
string. Valfritt. Använd när action = Configure application startup || action = Update image || action = UpdateImage.
Sökväg till katalog som innehåller anpassade skript som ska köras med hjälp av VM-tillägget för anpassat skript. Tilläggsmetoden är användbar för konfiguration efter distribution, program-/programvaruinstallation eller någon annan programkonfigurations-/hanteringsuppgift. Till exempel: skriptet kan ange en miljövariabel på datornivå som programmet använder, till exempel databasanslutningssträngen.
customScript
-
kommando
string. Valfritt. Använd när action = Configure application startup || action = Update image || action = UpdateImage.
Skriptet som ska köras med hjälp av VM-tillägget för anpassat skript. Det här skriptet kan anropa andra skript i katalogen. Skriptet anropas med argument som skickas nedan.
Det här skriptet i kombination med sådana argument kan användas för att köra kommandon. Till exempel:
1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) kommer att uppdatera συμβολοσειρά σύνδεσης i web.config av webbapplikationen.
2. install-secrets.sh --key-vault-type prod -key servicePrincipalKey skapar en krypterad fil som innehåller nyckeln för tjänstens huvudnamn.
customScriptArguments
-
argument
string. Valfritt. Använd när action = Configure application startup || action = Update image || action = UpdateImage.
Det anpassade skriptet anropas med argument som skickas. Bygg-/versionsvariabler kan användas, vilket gör det enkelt att använda hemligheter.
customScriptsStorageAccount
-
Azure Storage-konto där anpassade skript laddas upp
string. Valfritt. Använd när action = Configure application startup || action = Update image || action = UpdateImage.
Tillägget för anpassat skript laddar ned och kör skript som tillhandahålls av dig på varje virtuell dator i VM-skalningsuppsättningen. Dessa skript lagras i det lagringskonto som anges här. Ange ett befintligt ARM-lagringskonto.
skipArchivingCustomScripts
-
Hoppa över arkivering av anpassade skript
boolean. Standardvärde: false.
Som standard skapar den här uppgiften ett komprimerat arkiv med katalog som innehåller anpassade skript. Detta förbättrar prestanda och tillförlitlighet vid uppladdning till Azure Storage. Om det inte är markerat kommer arkivering inte att göras och alla filer laddas upp individuellt.
Alternativ för uppgiftskontroll
Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.
Utdatavariabler
Ingen.
Anmärkningar
Använd den här uppgiften för att distribuera en vm-skalningsuppsättningsbild.
Skriptkörningen rapporteras som lyckad, men VMSS-instanserna uppdateras inte
Skalningsuppsättningar har en uppgraderingsprincip som avgör hur virtuella datorer tas med up-to-date med den senaste skalningsuppsättningsmodellen, och om uppgraderingsprincipen är inställd på manuell måste du uppgradera varje virtuell dator manuellt. Mer information finns i How to bring VMs up-to-date with the latest scale set model. Du kan ändra uppdateringsprincipen eller uppgradera varje virtuell dator manuellt. Om du till exempel vill uppgradera principen till Automaticanvänder du följande Az CLI-kommando: az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>
Fel: "Behörighet nekad: Skriptet kan inte köras"
Det här problemet uppstår om du försöker köra ett anpassat skript, men skriptet kan inte köras.
Lös problemet genom att först se till att customScript indata inte har ./ eller något annat innan skriptnamnet 'test.sh':
customScript: 'test.sh'
Försök sedan att lägga till en kommandoradsaktivitet före vm-skalningsuppsättningsaktiviteten:
- task: CmdLine@2
inputs:
script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh'
Konfigurera Azure RBAC för att få åtkomst till Azure Storage
Den här versionen av uppgiften använder en Azure Resource Manager-tjänstanslutning som konfigurerats med hjälp av arbetsbelastningsidentitetsfederation och Azure RBAC för att ansluta till Azure Storage i stället för lagringskontonycklar eller signaturer för delad åtkomst (SAS). Om du vill ansluta till Azure Storage från den här uppgiften måste du tilldela rollen Storage Blob Data-deltagare för lagringskontot till identiteten för tjänstanslutningen som konfigurerats för azureSubscription.
Mer information finns i Tilldela en Azure-roll för åtkomst till blobdata och Steg för att tilldela en roll.
Uppgiften AzureVmssDeployment@1 kräver följande ytterligare RBAC-roller som konfigurerats för att få åtkomst till lagringskontot som konfigurerats i customScriptsStorageAccount.
| Befattning | Resurs | Användare |
|---|---|---|
| Deltagare eller virtuell datordeltagare | Skaluppsättning för virtuella maskiner | Identiteten för tjänstanslutningen som konfigurerats för azureSubscription |
| Storage Blob Data-bidragsgivare | Azure Storage-konto som innehåller det anpassade skriptet | Identiteten för tjänstanslutningen som konfigurerats för azureSubscription |
| Storage Blob Data Reader | Azure Storage-konto som innehåller det anpassade skriptet | Den systemtilldelade hanterade identiteten för VM-skalningsuppsättningen |
Kravspecifikation
| Krav | Beskrivning |
|---|---|
| Pipelinetyper | YAML, klassisk version, klassisk version |
| Körs på | Agent, DeploymentGroup |
| Krav | Ingen |
| Kapaciteter | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
| Kommandobegränsningar | Vilken som helst |
| variabler som kan | Vilken som helst |
| Agentversion | 2.209.0 eller senare |
| Aktivitetskategori | Rulla ut |