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 batch
Skript , ps
oder 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 batch
Skript , ps
oder 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
, .bat
oder .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 servicePrincipalId
Variablen , servicePrincipalKey
oder idToken
und 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 |