AzureCLI@2 - Tâche Azure CLI v2
Exécutez des commandes Azure CLI sur un abonnement Azure dans un script PowerShell Core/shell lors de l’exécution sur l’agent Linux. Vous pouvez également exécuter des commandes Azure CLI sur un abonnement Azure dans un script PowerShell/PowerShell Core/batch lors de l’exécution sur l’agent Windows.
Exécutez des commandes Azure CLI sur un abonnement Azure dans un script PowerShell Core/shell lors de l’exécution sur l’agent Linux. Ou exécutez des commandes Azure CLI sur un abonnement Azure dans un script PowerShell/PowerShell Core/batch lors de l’exécution sur l’agent Windows.
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.
Entrées
azureSubscription
- Connexion Azure Resource Manager
Alias d’entrée : connectedServiceNameARM
. string
. Obligatoire.
Sélectionnez une connexion de service Azure Resource Manager pour le déploiement.
scriptType
- Script Type
string
. Obligatoire. Valeurs autorisées : ps
(PowerShell), pscore
(PowerShell Core), batch
, bash
(Shell).
Type de script. Sélectionnez un bash
script ou pscore
lors de l’exécution sur l’agent Linux. Vous pouvez également sélectionner un batch
script , ps
ou pscore
lors de l’exécution sur l’agent Windows. Un pscore
script peut s’exécuter sur des agents multiplateformes (Linux, macOS ou Windows).
scriptType
- Script Type
string
. Obligatoire. Valeurs autorisées : ps
(Powershell), pscore
(PowerShell Core), batch
, bash
(Shell).
Type de script. Sélectionnez un bash
script ou pscore
lors de l’exécution sur l’agent Linux. Vous pouvez également sélectionner un batch
script , ps
ou pscore
lors de l’exécution sur l’agent Windows. Un pscore
script peut s’exécuter sur des agents multiplateformes (Linux, macOS ou Windows).
scriptLocation
- Emplacement du script
string
. Obligatoire. Valeurs autorisées : inlineScript
(script inline), scriptPath
(chemin du script). Valeur par défaut : scriptPath
.
Chemin d’accès au script.
scriptPath
- Chemin d’accès du script
string
. Nécessaire lorsque scriptLocation = scriptPath
.
Chemin d’accès complet du script. Utilisez .ps1
, .bat
ou .cmd
lors de l’utilisation de l’agent Windows. Utilisez .ps1
ou .sh
lors de l’utilisation d’un agent linux ou d’un chemin d’accès relatif au répertoire de travail par défaut.
inlineScript
- Inline Script
string
. Nécessaire lorsque scriptLocation = inlineScript
.
Vous pouvez écrire vos scripts en ligne ici. Lorsque vous utilisez l’agent Windows, utilisez PowerShell, PowerShell Core ou des scripts par lots. Utilisez PowerShell Core ou les scripts d’interpréteur de commandes lors de l’utilisation d’agents linux. Pour les fichiers batch, utilisez le préfixe call
avant chaque commande Azure. Vous pouvez également passer des variables prédéfinies et personnalisées à ce script à l’aide d’arguments.
Voici un exemple pour PowerShell/PowerShellCore/shell.
az --version
az account show
Voici un exemple pour batch.
call az --version
call az account show
arguments
- Script Arguments
Alias d’entrée : scriptArguments
. string
.
Arguments passés au script.
powerShellErrorActionPreference
- ErrorActionPreference
string
. facultatif. Utilisez quand scriptType = ps || scriptType = pscore
. Valeurs autorisées : stop
, continue
, silentlyContinue
. Valeur par défaut : stop
.
Ajoute la ligne $ErrorActionPreference = 'VALUE'
en haut de votre script PowerShell/PowerShell Core.
addSpnToEnvironment
- Accéder aux détails du principal de service dans le script
boolean
. Valeur par défaut : false
.
Ajoute l’ID de principal de service, la clé de principal de service ou le jeton de fédération d’identité de charge de travail et l’ID de locataire du point de terminaison Azure que vous avez choisi à l’environnement d’exécution du script. Vous pouvez utiliser les servicePrincipalId
variables , servicePrincipalKey
ou idToken
, et tenantId
dans votre script.
Cela est respecté uniquement lorsque le point de terminaison Azure a un schéma d’authentification de principal de service ou un schéma d’authentification de fédération d’identité de charge de travail.
La liste suivante montre la syntaxe permettant d’accéder aux variables d’environnement en fonction du type de script.
Syntaxe de script PowerShell :
$env:servicePrincipalId
Syntaxe de script batch :
%servicePrincipalId%
Syntaxe de script d’interpréteur de commandes :
$servicePrincipalId
useGlobalConfig
- Utiliser la configuration globale d’Azure CLI
boolean
. Valeur par défaut : false
.
Si cette entrée est false, cette tâche utilise son propre répertoire de configuration Azure CLI. Utilisez cette tâche pour exécuter des tâches Azure CLI dans des versions parallèles .
workingDirectory
- Répertoire de travail
Alias d’entrée : cwd
. string
.
Répertoire de travail actuel où le script est exécuté. Si elle n’est pas renseignée, cette entrée est la racine du dépôt (build) ou des artefacts (mise en production), qui est $(System.DefaultWorkingDirectory)
.
failOnStandardError
- Échec en cas d’erreur standard
boolean
. Valeur par défaut : false
.
Si cette entrée est true, cette tâche échoue lorsque des erreurs sont écrites dans le flux StandardError. Décochez la case pour ignorer les erreurs standard et utiliser plutôt les codes de sortie pour déterminer le status.
powerShellIgnoreLASTEXITCODE
- Ignorer $LASTEXITCODE
boolean
. facultatif. Utilisez quand scriptType = ps || scriptType = pscore
. Valeur par défaut : false
.
Si cette entrée est false, la ligne if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE }
est ajoutée à la fin de votre script. Cela propage le dernier code de sortie d’une commande externe en tant que code de sortie de PowerShell. Sinon, la ligne n’est pas ajoutée à la fin de votre script.
Options de contrôle de la tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Notes
Nouveautés de la tâche version 2.0
- Prise en charge de PowerShell et du script PowerShell Core.
- PowerShell Core fonctionne avec des agents multiplateformes (Linux, macOS ou Windows). Vérifiez que l’agent dispose de PowerShell version 6 ou plus.
- Le script PowerShell fonctionne uniquement avec l’agent Windows. Vérifiez que l’agent dispose de PowerShell version 5 ou antérieure.
Prérequis
- Un abonnement Microsoft Azure.
- Connexion de service Azure Resource Manager à votre compte Azure.
- Azure CLI est préinstallée sur les agents hébergés par Microsoft. Toutefois, si vous utilisez des agents privés, installez Azure CLI sur le ou les ordinateurs qui exécutent l’agent de build et de mise en production. Si un agent est déjà en cours d’exécution sur l’ordinateur où Azure CLI est installée, redémarrez-le pour vous assurer que toutes les variables intermédiaires pertinentes sont mises à jour.
Exemples
L’exemple suivant répertorie la version d’Azure CLI et obtient les détails de l’abonnement.
- 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
L’exemple suivant montre comment passer des arguments à votre script.
Passage d’arguments à des scripts inlined :
- 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'
Passage d’arguments avec le chemin d’accès du 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'
Configuration requise
Condition requise | Description |
---|---|
Types de pipelines | YAML, build classique, version classique |
S’exécute sur | Agent, DeploymentGroup |
Demandes | None |
Capabilities | Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail. |
Restrictions de commande | Quelconque |
Variables paramétrables | Quelconque |
Version de l’agent | 2.0.0 ou version ultérieure |
Catégorie de la tâche | Déployer |