AzureCLI@2: Azure CLI v2-Aufgabe

Führen Sie Azure CLI-Befehle für ein Azure-Abonnement in einem PowerShell Core/Shell-Skript aus, wenn Sie auf dem Linux-Agent ausgeführt werden. Oder führen Sie Azure CLI-Befehle für ein Azure-Abonnement in einem PowerShell-/PowerShell Core-/Batchskript aus, wenn Sie auf dem Windows-Agent ausgeführt werden.

Führen Sie Azure CLI-Befehle für ein Azure-Abonnement in einem PowerShell Core/Shell-Skript aus, wenn Sie auf dem Linux-Agent ausgeführt werden. Oder führen Sie Azure CLI-Befehle für ein Azure-Abonnement in einem PowerShell-/PowerShell Core-/Batchskript aus, wenn Sie auf dem Windows-Agent ausgeführt werden.

Syntax

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

Eingaben

azureSubscription - Azure Resource Manager-Verbindung
Eingabealias: connectedServiceNameARM. string. Erforderlich.

Wählen Sie eine Azure Resource Manager-Dienstverbindung für die Bereitstellung aus.


scriptType - Skripttyp
string. Erforderlich. Zulässige Werte: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Typ des Skripts. Wählen Sie ein bash - oder pscore -Skript aus, wenn Sie auf dem Linux-Agent ausgeführt werden. Oder wählen Sie ein batchSkript , psoder pscore aus, wenn Sie auf dem Windows-Agent ausgeführt werden. Ein pscore Skript kann auf plattformübergreifenden Agents (Linux, macOS oder Windows) ausgeführt werden.


scriptType - Skripttyp
string. Erforderlich. Zulässige Werte: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Typ des Skripts. Wählen Sie ein bash - oder pscore -Skript aus, wenn Sie auf dem Linux-Agent ausgeführt werden. Oder wählen Sie ein batchSkript , psoder pscore aus, wenn Sie auf dem Windows-Agent ausgeführt werden. Ein pscore Skript kann auf plattformübergreifenden Agents (Linux, macOS oder Windows) ausgeführt werden.


scriptLocation - Skriptspeicherort
string. Erforderlich. Zulässige Werte: inlineScript (Inlineskript), scriptPath (Skriptpfad). Standardwert. scriptPath.

Pfad zum Skript.


scriptPath - Skriptpfad
string. Erforderlich, wenn scriptLocation = scriptPath.

Vollqualifizierter Pfad des Skripts. Verwenden Sie .ps1, .batoder .cmd , wenn Sie den Windows-basierten Agent verwenden. Verwenden Sie .ps1 oder .sh , wenn Sie den Linux-basierten Agent oder einen Pfad relativ zum Standardarbeitsverzeichnis verwenden.


inlineScript - Inlineskript
string. Erforderlich, wenn scriptLocation = inlineScript.

Sie können Ihre Skripts hier inline schreiben. Verwenden Sie bei Verwendung des Windows-Agents PowerShell, PowerShell Core oder Batchskripting. Verwenden Sie PowerShell Core- oder Shellskripts, wenn Sie Linux-basierte Agents verwenden. Verwenden Sie für Batchdateien das Präfix call vor jedem Azure-Befehl. Sie können auch vordefinierte und benutzerdefinierte Variablen mithilfe von Argumenten an dieses Skript übergeben.

Im Folgenden finden Sie ein Beispiel für PowerShell/PowerShellCore/shell.

az --version 
az account show 

Im Folgenden finden Sie ein Beispiel für batch.

call  az --version 
call az account show

arguments - Skriptargumente
Eingabealias: scriptArguments. string.

An das Skript übergebene Argumente.


powerShellErrorActionPreference - ErrorActionPreference
string. Optional. Verwenden Sie , wenn scriptType = ps || scriptType = pscore. Zulässige Werte: stop, continue und silentlyContinue. Standardwert. stop.

Setzt die Zeile $ErrorActionPreference = 'VALUE' oben in Ihrem PowerShell/PowerShell Core-Skript voran.


addSpnToEnvironment - Zugreifen auf Dienstprinzipaldetails im Skript
boolean. Standardwert. false.

Fügt der Ausführungsumgebung des Skripts die Dienstprinzipal-ID, den Dienstprinzipalschlüssel oder das Verbundtoken der Workloadidentität und die Mandanten-ID des ausgewählten Azure-Endpunkts hinzu. Sie können die servicePrincipalIdVariablen , servicePrincipalKey oder idTokenund tenantId in Ihrem Skript verwenden.

Dies wird nur berücksichtigt, wenn der Azure-Endpunkt über ein Dienstprinzipalauthentifizierungsschema oder ein Verbundauthentifizierungsschema der Workloadidentität verfügt.

Die folgende Liste zeigt die Syntax für den Zugriff auf Umgebungsvariablen basierend auf dem Skripttyp.

  • PowerShell-Skriptsyntax: $env:servicePrincipalId

  • Batchskriptsyntax: %servicePrincipalId%

  • Shellskriptsyntax: $servicePrincipalId


useGlobalConfig - Verwenden der globalen Azure CLI-Konfiguration
boolean. Standardwert. false.

Wenn diese Eingabe false ist, verwendet diese Aufgabe ein eigenes Azure CLI-Konfigurationsverzeichnis. Verwenden Sie diese Aufgabe, um Azure CLI-Aufgaben in parallelen Releases auszuführen.


workingDirectory - Arbeitsverzeichnis
Eingabealias: cwd. string.

Aktuelles Arbeitsverzeichnis, in dem das Skript ausgeführt wird. Wenn diese Eingabe leer bleibt, ist diese Eingabe der Stamm des Repositorys (Build) oder der Artefakte (Release), also $(System.DefaultWorkingDirectory).


failOnStandardError - Fehler beim Standardfehler
boolean. Standardwert. false.

Wenn diese Eingabe true ist, schlägt diese Aufgabe fehl, wenn Fehler in den StandardError-Stream geschrieben werden. Deaktivieren Sie das Kontrollkästchen, um Standardfehler zu ignorieren, und verwenden Sie stattdessen Exitcodes, um die status zu bestimmen.


powerShellIgnoreLASTEXITCODE - $LASTEXITCODE ignorieren
boolean. Optional. Verwenden Sie , wenn scriptType = ps || scriptType = pscore. Standardwert. false.

Wenn diese Eingabe false ist, wird die Zeile if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } am Ende des Skripts angefügt. Dadurch wird der letzte Exitcode eines externen Befehls als Exitcode von PowerShell weitergegeben. Andernfalls wird die Zeile nicht am Ende Ihres Skripts angefügt.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Neuerungen in Version 2.0 des Aufgabenbereichs

  • Unterstützung für PowerShell und PowerShell Core-Skripts.
  • PowerShell Core funktioniert mit plattformübergreifenden Agents (Linux, macOS oder Windows). Stellen Sie sicher, dass der Agent über PowerShell Version 6 oder höher verfügt.
  • PowerShell-Skript funktioniert nur mit dem Windows-Agent. Stellen Sie sicher, dass der Agent über PowerShell-Version 5 oder niedriger verfügt.

Voraussetzungen

  • Ein Microsoft Azure-Abonnement
  • Eine Azure Resource Manager-Dienstverbindung zu Ihrem Azure-Konto
  • Bei von Microsoft gehosteten Agents ist Azure CLI vorinstalliert. Wenn Sie aber private Agents verwenden, installieren Sie Azure CLI auf dem/den Computer(n), auf dem/denen der Build- und Release-Agent ausgeführt wird. Wenn ein Agent bereits auf dem Computer ausgeführt wird, auf dem die Azure CLI installiert ist, starten Sie den Agent neu, um sicherzustellen, dass alle relevanten Phasenvariablen aktualisiert werden.

Beispiele

Im folgenden Beispiel wird die Version der Azure CLI aufgelistet und die Details des Abonnements abgerufen.

- 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

Das folgende Beispiel veranschaulicht, wie Argumente an Ihr Skript übergeben werden.

  • Übergeben von Argumenten an Inlineskripts:

    - 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'
    
  • Übergeben von Argumenten mit dem Skriptpfad:

    - 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'
    

Anforderungen

Anforderung Beschreibung
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.0.0 oder höher
Aufgabenkategorie Bereitstellen

Weitere Informationen