Partage via


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 batchscript , psou 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 batchscript , psou 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, .batou .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 servicePrincipalIdvariables , 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

Voir aussi