Condividi tramite


AzureCLI@2 - Attività dell'interfaccia della riga di comando di Azure v2

Eseguire i comandi dell'interfaccia della riga di comando di Azure per una sottoscrizione di Azure in uno script di PowerShell Core/shell durante l'esecuzione nell'agente Linux. In alternativa, eseguire comandi dell'interfaccia della riga di comando di Azure in una sottoscrizione di Azure in uno script PowerShell/PowerShell Core/batch durante l'esecuzione nell'agente Windows.

Eseguire i comandi dell'interfaccia della riga di comando di Azure per una sottoscrizione di Azure in uno script di PowerShell Core/shell durante l'esecuzione nell'agente Linux. In alternativa, eseguire i comandi dell'interfaccia della riga di comando di Azure in una sottoscrizione di Azure in uno script PowerShell/Powershell Core/batch durante l'esecuzione nell'agente Windows.

Sintassi

# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/Powershell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.

Input

azureSubscription - Connessione Resource Manager di Azure
Alias di input: connectedServiceNameARM. string. Obbligatorio.

Selezionare una connessione al servizio Resource Manager di Azure per la distribuzione.


scriptType - Tipo di script
string. Obbligatorio. Valori consentiti: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Tipo di script. Selezionare uno bash script o pscore durante l'esecuzione nell'agente Linux. In alternativa, selezionare uno batchscript , pso pscore durante l'esecuzione nell'agente Windows. Uno pscore script può essere eseguito su agenti multipiattaforma (Linux, macOS o Windows).


scriptType - Tipo di script
string. Obbligatorio. Valori consentiti: ps (Powershell), pscore (Powershell Core), batch, bash (Shell).

Tipo di script. Selezionare uno bash script o pscore durante l'esecuzione nell'agente Linux. In alternativa, selezionare uno batchscript , pso pscore durante l'esecuzione nell'agente Windows. Uno pscore script può essere eseguito su agenti multipiattaforma (Linux, macOS o Windows).


scriptLocation - Percorso script
string. Obbligatorio. Valori consentiti: inlineScript (script inline), scriptPath (percorso script). Valore predefinito: scriptPath.

Percorso dello script.


scriptPath - Percorso script
string. Obbligatorio quando scriptLocation = scriptPath.

Percorso completo dello script. Usare .ps1, .bato .cmd quando si usa l'agente basato su Windows. Usare .ps1 o .sh quando si usa l'agente basato su Linux o un percorso relativo alla directory di lavoro predefinita.


inlineScript - Inline Script
string. Obbligatorio quando scriptLocation = inlineScript.

È possibile scrivere gli script inline qui. Quando si usa l'agente Windows, usare PowerShell, PowerShell Core o scripting batch. Usare PowerShell Core o gli script della shell quando si usano agenti basati su Linux. Per i file batch, usare il prefisso call prima di ogni comando di Azure. È anche possibile passare variabili predefinite e personalizzate a questo script usando argomenti.

Di seguito è riportato un esempio per PowerShell/PowerShellCore/shell.

az --version 
az account show 

Di seguito è riportato un esempio di batch.

call  az --version 
call az account show

arguments - Argomenti script
Alias di input: scriptArguments. string.

Argomenti passati allo script.


powerShellErrorActionPreference - ErrorActionPreference
string. facoltativo. Usare quando scriptType = ps || scriptType = pscore. Valori consentiti: stop, continue, silentlyContinue. Valore predefinito: stop.

Antepone la riga $ErrorActionPreference = 'VALUE' nella parte superiore dello script di PowerShell/PowerShell Core.


addSpnToEnvironment - Accedere ai dettagli dell'entità servizio nello script
boolean. Valore predefinito: false.

Aggiunge l'ID entità servizio, la chiave dell'entità servizio o il token di federazione dell'identità del carico di lavoro e l'ID tenant dell'endpoint di Azure scelto per l'ambiente di esecuzione dello script. È possibile usare le servicePrincipalIdvariabili , servicePrincipalKey o idTokene tenantId nello script.

Questo viene rispettato solo quando l'endpoint di Azure ha lo schema di autenticazione dell'entità servizio o lo schema di autenticazione federativo dell'identità del carico di lavoro.

L'elenco seguente mostra la sintassi per accedere alle variabili di ambiente in base al tipo di script.

  • Sintassi dello script di PowerShell: $env:servicePrincipalId

  • Sintassi dello script batch: %servicePrincipalId%

  • Sintassi dello script della shell: $servicePrincipalId


useGlobalConfig - Usare la configurazione globale dell'interfaccia della riga di comando di Azure
boolean. Valore predefinito: false.

Se questo input è false, questa attività userà la propria directory di configurazione dell'interfaccia della riga di comando di Azure. Usare questa attività per eseguire attività dell'interfaccia della riga di comando di Azure in versioni parallele .


workingDirectory - Directory di lavoro
Alias di input: cwd. string.

Directory di lavoro corrente in cui viene eseguito lo script. Se lasciato vuoto, questo input è la radice del repository (build) o degli artefatti (versione), ovvero $(System.DefaultWorkingDirectory).


failOnStandardError - Esito negativo in caso di errore standard
boolean. Valore predefinito: false.

Se questo input è true, questa attività avrà esito negativo quando vengono scritti errori nel flusso StandardError. Deselezionare la casella di controllo per ignorare gli errori standard e basarsi invece sui codici di uscita per determinare lo stato.


powerShellIgnoreLASTEXITCODE - Ignora $LASTEXITCODE
boolean. facoltativo. Usare quando scriptType = ps || scriptType = pscore. Valore predefinito: false.

Se questo input è false, la riga if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } viene aggiunta alla fine dello script. Verrà propagato l'ultimo codice di uscita da un comando esterno come codice di uscita di PowerShell. In caso contrario, la riga non viene aggiunta alla fine dello script.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Novità dell'attività Versione versione 2.0

  • Supporto per powerShell e script di PowerShell Core.
  • PowerShell Core funziona con agenti multipiattaforma (Linux, macOS o Windows), assicurarsi che l'agente abbia PowerShell versione 6 o più.
  • Lo script di PowerShell funziona solo con l'agente Windows, assicurarsi che l'agente abbia PowerShell versione 5 o successiva.

Prerequisiti

  • Una sottoscrizione di Microsoft Azure.
  • Connessione al servizio azure Resource Manager all'account Azure.
  • Gli agenti ospitati da Microsoft hanno preinstallato l'interfaccia della riga di comando di Azure. Tuttavia, se si usano agenti privati, installare l'interfaccia della riga di comando di Azure nei computer che eseguono l'agente di compilazione e versione. Se un agente è già in esecuzione nel computer in cui è installata l'interfaccia della riga di comando di Azure, riavviare l'agente per assicurarsi che tutte le variabili di fase pertinenti vengano aggiornate.

Esempio

L'esempio seguente elenca la versione dell'interfaccia della riga di comando di Azure e ottiene i dettagli della sottoscrizione.

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: |
      az --version
      az account show

Nell'esempio seguente viene illustrato come passare argomenti allo script.

  • Passaggio di argomenti a script inline:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'inlineScript'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        inlineScript: './scripts/publish.ps1 $1 $2'
    
  • Passaggio di argomenti con il percorso dello script:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'scriptPath'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        scriptPath: './scripts/publish.ps1'
    

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.0.0 o versione successiva
Categoria attività Distribuisci

Vedi anche