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

Eseguire i comandi dell'interfaccia della riga di comando di Azure in 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 quando viene eseguito 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.
    #visibleAzLogin: true # boolean. az login output visibility. Default: true.
# 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.

Ingressi dati

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

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


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

Tipo di script. Selezionare uno script bash o pscore durante l'esecuzione nell'agente Linux. In alternativa, selezionare uno script batch, pso pscore durante l'esecuzione nell'agente Windows. Uno script pscore 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 script bash o pscore durante l'esecuzione nell'agente Linux. In alternativa, selezionare uno script batch, pso pscore durante l'esecuzione nell'agente Windows. Uno script pscore 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 - script inline
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 lo scripting 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

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

Argomenti passati allo script.


powerShellErrorActionPreference - ErroreAzionePreferenza
string. Opzionale. 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 nell'ambiente di esecuzione dello script. È possibile usare le variabili servicePrincipalId, servicePrincipalKey o idTokene tenantId nello script.

Questa operazione viene rispettata 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 le 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), che è $(System.DefaultWorkingDirectory).


failOnStandardError - 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. Opzionale. 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.


visibleAzLogin - az login output visibility
boolean. Valore predefinito: true

Se è impostato su true, il comando az login restituirà l'attività. L'impostazione su false elimina l'output az login.


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 script PowerShell e 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.
  • Interfaccia della riga di comando di Azure preinstallata negli agenti ospitati da Microsoft. Tuttavia, se si usano agenti privati, installare l'interfaccia della riga di comando di Azure nei computer che eseguono la compilazione e rilasciare l'agente. Se un agente è già in esecuzione nel computer in cui è installata l'interfaccia della riga di comando di Azure, riavviarlo per assicurarsi che tutte le variabili di fase pertinenti vengano aggiornate.

Esempi

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 agli 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
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.0.0 o versione successiva
Categoria attività Distribuire

Vedere anche