Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Distribuire un'immagine del set di scalabilità di macchine virtuali.
Annotazioni
Questa versione dell'attività usa il controllo degli accessi in base al ruolo di Azure per connettersi all'archiviazione di Azure. Per altre informazioni, vedere Configurare il controllo degli accessi in base al ruolo di Azure per accedere all'archiviazione di Azure.
Sintassi
# 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.
Ingressi dati
azureSubscription
-
sottoscrizione di Azure
Alias di input: ConnectedServiceName.
string. Obbligatorio.
Selezionare la sottoscrizione di Azure Resource Manager per il set di scalabilità.
action
-
'azione
string. Obbligatorio. Valori consentiti: Update image (aggiornare il set di scalabilità di macchine virtuali usando un'immagine), Configure application startup (eseguire l'estensione di macchina virtuale script personalizzati nel set di scalabilità di macchine virtuali). Valore predefinito: Update image
Scegliere tra l'aggiornamento di un set di scalabilità di macchine virtuali usando un'immagine VHD e/o l'esecuzione di script di distribuzione/installazione usando l'estensione della macchina virtuale con script personalizzato.
L'approccio dell'immagine VHD è migliore per il ridimensionamento rapido e il rollback. L'approccio dell'estensione è utile per la configurazione post-distribuzione, l'installazione del software o qualsiasi altra attività di configurazione/gestione.
È possibile usare un'immagine VHD per aggiornare un set di scalabilità di macchine virtuali solo quando è stato creato usando un'immagine personalizzata, l'aggiornamento avrà esito negativo se il set di scalabilità di macchine virtuali è stato creato usando un'immagine della piattaforma/raccolta disponibile in Azure.
L'approccio dell'estensione della macchina virtuale con script personalizzato può essere usato per il set di scalabilità di macchine virtuali creato usando un'immagine personalizzata o un'immagine della piattaforma/raccolta.
vmssName
-
nome del set di scalabilità di macchine virtuali
string. Obbligatorio.
Nome del set di scalabilità di macchine virtuali che si vuole aggiornare usando un'immagine VHD o usando l'estensione della macchina virtuale script personalizzato.
vmssOsType
-
tipo di sistema operativo
string. Obbligatorio. Valori consentiti: Windows, Linux.
Selezionare il tipo di sistema operativo del set di scalabilità di macchine virtuali.
imageUrl
-
URL immagine
string. Obbligatorio quando action = Update image || action = UpdateImage.
Specificare l'URL dell'immagine VHD. Se si tratta di un URL BLOB di archiviazione di Azure, il percorso dell'account di archiviazione deve essere uguale al percorso del set di scalabilità.
customScriptsDirectory
-
directory script personalizzata
string. Opzionale. Usare quando action = Configure application startup || action = Update image || action = UpdateImage.
Percorso della directory contenente gli script personalizzati che verranno eseguiti usando l'estensione Custom Script VM. L'approccio di estensione è utile per la configurazione post-distribuzione, l'installazione di applicazioni/software o qualsiasi altra attività di configurazione/gestione dell'applicazione. Ad esempio: lo script può impostare una variabile d'ambiente a livello di macchina utilizzata dall'applicazione, come la stringa di connessione al database.
customScript
-
comando
string. Opzionale. Usare quando action = Configure application startup || action = Update image || action = UpdateImage.
Script che verrà eseguito usando l'estensione Custom Script VM. Questo script può richiamare altri script nella directory. Lo script verrà richiamato con gli argomenti passati di seguito.
Questo script in coniugazione con tali argomenti può essere utilizzato per eseguire comandi. Per esempio:
1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) aggiornerà la stringa di connessione in web.config dell'applicazione web.
2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey creerà un file crittografato contenente la chiave principale del servizio.
customScriptArguments
-
argomenti
string. Opzionale. Usare quando action = Configure application startup || action = Update image || action = UpdateImage.
Lo script personalizzato verrà richiamato con argomenti passati. È possibile utilizzare le variabili di compilazione/rilascio, semplificando l'utilizzo dei segreti.
customScriptsStorageAccount
-
account di archiviazione di Azure in cui verranno caricati script personalizzati
string. Opzionale. Usare quando action = Configure application startup || action = Update image || action = UpdateImage.
L'estensione script personalizzata scarica ed esegue gli script forniti dall'utente in ogni macchina virtuale nel set di scalabilità di macchine virtuali. Questi script verranno archiviati nell'account di archiviazione specificato qui. Specificare un account di archiviazione ARM preesistente.
skipArchivingCustomScripts
-
ignorare l'archiviazione di script personalizzati
boolean. Valore predefinito: false
Per impostazione predefinita, questa attività crea un archivio compresso di directory contenente script personalizzati. Ciò migliora le prestazioni e l'affidabilità durante il caricamento in Archiviazione di Azure. Se non è selezionata, l'archiviazione non verrà eseguita e tutti i file verranno caricati singolarmente.
Opzioni di controllo delle attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di uscita
Nessuno.
Osservazioni:
Usare questa attività per distribuire un'immagine del set di scalabilità di macchine virtuali.
L'esecuzione dello script viene segnalata come riuscita, tuttavia le istanze del set di scalabilità di macchine virtuali non vengono aggiornate
I set di scalabilità hanno criteri di aggiornamento che determinano il modo in cui le macchine virtuali vengono portate up-to-date con il modello del set di scalabilità più recente e se i criteri di aggiornamento sono impostati su manuale, è necessario aggiornare manualmente ogni macchina virtuale. Per altre informazioni, vedere How to bring VMs up-to-date with the latest scale set model. È possibile modificare i criteri di aggiornamento o aggiornare manualmente ogni macchina virtuale. Ad esempio, per aggiornare i criteri a Automatic, usare il comando az cli seguente: az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>
Errore: 'Autorizzazione negata: Script non eseguibile'
Questo problema si verifica se si tenta di eseguire uno script personalizzato, ma lo script non è eseguibile.
Per risolvere il problema, assicurarsi innanzitutto che l'input customScript non abbia ./ o altro prima del nome dello script 'test.sh':
customScript: 'test.sh'
Provare quindi ad aggiungere un'attività della riga di comando prima dell'attività del set di scalabilità di macchine virtuali:
- task: CmdLine@2
inputs:
script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh'
Configurare il controllo degli accessi in base al ruolo di Azure per accedere all'archiviazione di Azure
Questa versione dell'attività usa una connessione al servizio Azure Resource Manager configurata usando la federazione delle identità del carico di lavoro e il controllo degli accessi in base al ruolo di Azure per connettersi all'archiviazione di Azure anziché alle chiavi dell'account di archiviazione o alle firme di accesso condiviso. Per connettersi all'archiviazione di Azure da questa attività, è necessario assegnare il ruolo Collaboratore dati BLOB di archiviazione nell'account di archiviazione all'identità della connessione al servizio configurata per azureSubscription.
Per altre informazioni, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB e Passaggi per assegnare un ruolo.
L'attività AzureVmssDeployment@1 richiede i seguenti ruoli aggiuntivi RBAC configurati per accedere all'account di archiviazione configurato in customScriptsStorageAccount.
| Ruolo | Conto risorse | Utente |
|---|---|---|
| Collaboratore o Collaboratore macchina virtuale | Set di scalabilità della macchina virtuale | L'identità della connessione al servizio configurata per azureSubscription |
| Collaboratore ai dati di Storage Blob | Account di archiviazione di Azure che contiene lo script personalizzato | L'identità della connessione al servizio configurata per azureSubscription |
| Lettore di dati Blob di archiviazione | Account di archiviazione di Azure che contiene lo script personalizzato | Identità gestita assegnata dal sistema del set di scalabilità di macchine virtuali |
Requisiti
| Requisito | Descrizione |
|---|---|
| Tipi di pipeline | YAML, build classica, versione classica |
| Viene eseguito in | Agente, DeploymentGroup |
| Richieste | Nessuno |
| Funzionalità | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
| restrizioni dei comandi | Qualunque |
| variabili impostabili | Qualunque |
| Versione agente | 2.209.0 o versione successiva |
| Categoria attività | Distribuire |