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
, ps
oder 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
, ps
oder 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
, .bat
oder .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 idToken
und 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 |