Freigeben über


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. Bei Ausführung auf einem Windows-Agent können Sie Azure CLI-Befehle für ein Azure-Abonnement in einem PowerShell/PowerShell Core/Batch-Skript ausführen.

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

Eingänge

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 wird. Oder wählen Sie ein batch, psoder pscore Skript aus, wenn sie auf dem Windows-Agent ausgeführt wird. 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 wird. Oder wählen Sie ein batch, psoder pscore Skript aus, wenn sie auf dem Windows-Agent ausgeführt wird. 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 bei Verwendung des Windows-basierten Agents. Verwenden Sie .ps1 oder .sh, wenn Sie linuxbasierten Agent oder einen Pfad relativ zum Standardarbeitsverzeichnis verwenden.


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

Hier können Sie Ihre Skripts inline schreiben. Verwenden Sie bei Verwendung des Windows-Agents PowerShell, PowerShell Core oder Batchskripting. Verwenden Sie PowerShell Core- oder Shellskripting bei Verwendung linuxbasierter Agents. 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 sehen Sie ein Beispiel für PowerShell/PowerShellCore/Shell.

az --version 
az account show 

Im Folgenden sehen Sie ein Beispiel für batch.

call  az --version 
call az account show

arguments - Skriptargumente
Eingabealias: scriptArguments. string.

Argumente, die an das Skript übergeben werden.


powerShellErrorActionPreference - ErrorActionPreference-
string. Wahlfrei. Wird verwendet, wenn scriptType = ps || scriptType = pscore. Zulässige Werte: stop, continue, silentlyContinue. Standardwert: stop.

Stellt die Zeile $ErrorActionPreference = 'VALUE' oben im PowerShell/PowerShell Core-Skript voran.


addSpnToEnvironment - Details des Access-Dienstprinzipals in Skript-
boolean. Standardwert: false.

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

Dies wird nur berücksichtigt, wenn der Azure-Endpunkt über das Dienstprinzipalauthentifizierungsschema oder das Arbeitslastidentitäts-Verbundauthentifizierungsschema verfügt.

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

  • PowerShell-Skriptsyntax: $env:servicePrincipalId

  • Syntax des Batchskripts: %servicePrincipalId%

  • Shellskriptsyntax: $servicePrincipalId


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

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


workingDirectory - Arbeitsverzeichnis-
Eingabealias: cwd. string.

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


failOnStandardError - fehler bei Standardfehler-
boolean. Standardwert: false.

Wenn diese Eingabe zutrifft, schlägt diese Aufgabe fehl, wenn Fehler in den StandardError-Datenstrom geschrieben werden. Deaktivieren Sie das Kontrollkästchen, um Standardfehler zu ignorieren, und verlassen Sie sich stattdessen auf Exitcodes, um den Status zu ermitteln.


powerShellIgnoreLASTEXITCODE - ignorieren $LASTEXITCODE
boolean. Wahlfrei. Wird verwendet, wenn scriptType = ps || scriptType = pscore. Standardwert: false.

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


visibleAzLogin - az Anmeldeausgabe-Sichtbarkeit
boolean. Standardwert: true.

Wenn dies auf "true" festgelegt ist, gibt der Befehl "az login" an die Aufgabe aus. Wenn sie auf "false" festgelegt wird, wird die Az-Anmeldeausgabe unterdrückt.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.

Ausgabevariablen

Keiner.

Bemerkungen

Neuerungen in Version Task Version 2.0

  • Unterstützung für PowerShell- und PowerShell Core-Skript.
  • PowerShell Core funktioniert mit plattformübergreifenden Agents (Linux, macOS oder Windows), stellen Sie sicher, dass der Agent über PowerShell Version 6 oder mehr verfügt.
  • PowerShell-Skript funktioniert nur mit dem Windows-Agent, stellen Sie sicher, dass der Agent über PowerShell Version 5 oder darunter 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

Das folgende Beispiel listet die Version von Azure CLI auf und ruft die Details des Abonnements ab.

- 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 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, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 2.0.0 oder höher
Vorgangskategorie Einsetzen

Siehe auch