Delen via


AzureVmssDeployment@1 - Azure VM scale set deployment v1 taak

Een installatiekopieën van een virtuele-machineschaalset implementeren.

Opmerking

Deze versie van de taak maakt gebruik van Azure RBAC om verbinding te maken met Azure-opslag. Zie Azure RBAC configureren voor toegang tot Azure-opslag voor meer informatie.

Syntaxis

# 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.

Invoer

azureSubscription - Azure-abonnement
Invoeralias: ConnectedServiceName. string. Verplicht.

Selecteer het Azure Resource Manager-abonnement voor de schaalset.


action - actie-
string. Verplicht. Toegestane waarden: Update image (VM-schaalset bijwerken met behulp van een installatiekopieën), Configure application startup (Aangepaste script-VM-extensie uitvoeren op VM-schaalset). Standaardwaarde: Update image.

Kies tussen het bijwerken van een VM-schaalset met behulp van een VHD-installatiekopie en/of door implementatie-/installatiescripts uit te voeren met behulp van de VM-extensie Custom Script.
De VHD-beeldbenadering is beter voor snel schalen en terugdraaien. De uitbreidingsbenadering is nuttig voor configuratie na implementatie, software-installatie of andere configuratie-/beheertaken.
U kunt een VHD-installatiekopie gebruiken om een VM-schaalset bij te werken, alleen wanneer deze is gemaakt met behulp van een aangepaste installatiekopie. De update mislukt als de VM-schaalset is gemaakt met behulp van een platform-/galerie-installatiekopie die beschikbaar is in Azure.
De VM-extensiebenadering met aangepast script kan worden gebruikt voor VM-schaalsets die zijn gemaakt met behulp van een aangepaste afbeelding of een platform-/galerijafbeelding.


naam van vmssName - virtuele-machineschaalset
string. Verplicht.

Naam van de VM-schaalset die u wilt bijwerken met behulp van een VHD-installatiekopie of met behulp van de VM-extensie Aangepast script.


vmssOsType - type besturingssysteem
string. Verplicht. Toegestane waarden: Windows, Linux.

Selecteer het type besturingssysteem van de VM-schaalset.


imageUrl - afbeeldings-URL
string. Vereist wanneer action = Update image || action = UpdateImage.

Geef de URL van de VHD-afbeelding op. Als het een URL voor Azure-opslagblob is, moet de locatie van het opslagaccount hetzelfde zijn als de locatie van de schaalset.


customScriptsDirectory - aangepaste scriptmap
string. Facultatief. Gebruiken wanneer action = Configure application startup || action = Update image || action = UpdateImage.

Pad naar de map met aangepaste script(s) die worden uitgevoerd met behulp van de VM-extensie Custom Script. De uitbreidingsbenadering is handig voor configuratie na implementatie, toepassing/software-installatie of een andere toepassingsconfiguratie/beheertaak. Bijvoorbeeld: het script kan een omgevingsvariabele op machineniveau instellen die de applicatie gebruikt, zoals een databaseverbindingsreeks.


customScript - opdracht
string. Facultatief. Gebruiken wanneer action = Configure application startup || action = Update image || action = UpdateImage.

Het script dat wordt uitgevoerd met behulp van de VM-extensie Custom Script. Dit script kan andere scripts in de map aanroepen. Het script wordt aangeroepen met argumenten die hieronder worden doorgegeven.
Dit script in vervoeging met dergelijke argumenten kan worden gebruikt om commando's uit te voeren. Voorbeeld:
1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) zal de verbindingsreeks bijwerken in web.config van de webtoepassing.
2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey maakt een versleuteld bestand met de service-principalsleutel.


customScriptArguments - argumenten
string. Facultatief. Gebruiken wanneer action = Configure application startup || action = Update image || action = UpdateImage.

Het aangepaste script wordt aangeroepen met argumenten die worden doorgegeven. Build/Release-variabelen kunnen worden gebruikt, waardoor het gemakkelijk is om geheimen te gebruiken.


customScriptsStorageAccount - Azure-opslagaccount waarin aangepaste scripts worden geüpload
string. Facultatief. Gebruiken wanneer action = Configure application startup || action = Update image || action = UpdateImage.

De aangepaste scriptextensie downloadt en voert scripts uit die door u worden verstrekt op elke virtuele machine in de VM-schaalset. Deze scripts worden opgeslagen in het opslagaccount dat hier is opgegeven. Geef een bestaand ARM-opslagaccount op.


skipArchivingCustomScripts - Aangepaste scripts overslaan
boolean. Standaardwaarde: false.

Standaard wordt met deze taak een gecomprimeerd archief van een map met aangepaste scripts gemaakt. Dit verbetert de prestaties en betrouwbaarheid tijdens het uploaden naar Azure-opslag. Als dit niet is geselecteerd, wordt archivering niet uitgevoerd en worden alle bestanden afzonderlijk geüpload.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

Gebruik deze taak om een installatiekopieën van een virtuele-machineschaalset te implementeren.

De uitvoering van het script wordt gerapporteerd als geslaagd, maar de VMSS-exemplaren worden niet bijgewerkt

Schaalsets hebben een upgradebeleid waarmee wordt bepaald hoe VM's up-to-date worden gebracht met het meest recente schaalsetmodel. Als het upgradebeleid is ingesteld op handmatig, moet u elke VIRTUELE machine handmatig bijwerken. Zie VM's up-to-date brengen met het meest recente schaalsetmodelvoor meer informatie. U kunt het updatebeleid wijzigen of elke VIRTUELE machine handmatig bijwerken. Als u bijvoorbeeld het beleid wilt upgraden naar Automatic, gebruikt u de volgende Az CLI-opdracht: az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>

Fout: 'Machtiging geweigerd: Script is niet uitvoerbaar'

Dit probleem treedt op als u probeert een aangepast script uit te voeren, maar het script is niet uitvoerbaar.

Als u het probleem wilt oplossen, moet u er eerst voor zorgen dat de customScript invoer geen ./ of iets anders heeft voordat de scriptnaam 'test.sh':

    customScript: 'test.sh'

Voeg vervolgens een opdrachtregeltaak toe vóór de virtuele-machineschaalsettaak:

    - task: CmdLine@2
      inputs:
        script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh' 

Azure RBAC configureren voor toegang tot Azure-opslag

Deze versie van de taak maakt gebruik van een Azure Resource Manager-serviceverbinding die is geconfigureerd met behulp van workload-identiteitsfederatie en Azure RBAC om verbinding te maken met Azure-opslag in plaats van opslagaccountsleutels of SAS (Shared Access Signatures). Als u vanuit deze taak verbinding wilt maken met Azure-opslag, moet u de rol Storage Blob Data Contributor op het opslagaccount toewijzen aan de identiteit van de serviceverbinding die is geconfigureerd voor azureSubscription.

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens en Stappen om een rol toe te wijzen voor meer informatie.

Voor deze AzureVmssDeployment@1 taak zijn de volgende aanvullende RBAC-rollen vereist die zijn geconfigureerd om toegang te krijgen tot het opslagaccount dat is geconfigureerd in customScriptsStorageAccount.

Rol Hulpbron Gebruiker
Inzender of inzender van virtuele machine Set voor het schalen van virtuele machines De identiteit van de serviceverbinding die is geconfigureerd voor azureSubscription
Inzender voor Storage Blob-gegevens Azure-opslagaccount dat het aangepaste script bevat De identiteit van de serviceverbinding die is geconfigureerd voor azureSubscription
Storage Blob-gegevenslezer Azure-opslagaccount dat het aangepaste script bevat De virtuele-machineschaalset Door het systeem toegewezen beheerde identiteit

Azure RBAC-toegang voor toegang tot aangepaste scripts.

Behoeften

Voorwaarde Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Mogelijkheden Deze taak voldoet niet aan de vereisten voor volgende taken in de taak.
opdrachtbeperkingen Welke dan ook
variabelen instellen Welke dan ook
Agentversie 2.209.0 of hoger
Taakcategorie Implementeren