Partager 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. Ou, exécuter les commandes Azure CLI sur un abonnement Azure dans un PowerShell / PowerShell Core / script de commandes par lot lorsqu’il est exécuté sur un 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.

Syntaxe

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

Entrées

azureSubscription - de 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 - type de script
string. Obligatoire. Valeurs autorisées : ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Type de script. Sélectionnez un script bash ou pscore lors de l’exécution sur l’agent Linux. Vous pouvez également sélectionner un script batch, psou pscore lors de l’exécution sur l’agent Windows. Un script pscore peut s’exécuter sur des agents multiplateformes (Linux, macOS ou Windows).


scriptType - type de script
string. Obligatoire. Valeurs autorisées : ps (Powershell), pscore (PowerShell Core), batch, bash (Shell).

Type de script. Sélectionnez un script bash ou pscore lors de l’exécution sur l’agent Linux. Vous pouvez également sélectionner un script batch, psou pscore lors de l’exécution sur l’agent Windows. Un script pscore peut s’exécuter sur des agents multiplateformes (Linux, macOS ou Windows).


scriptLocation - emplacement de script
string. Obligatoire. Valeurs autorisées : inlineScript (script inline), scriptPath (chemin de script). Valeur par défaut : scriptPath.

Chemin d’accès au script.


scriptPath - chemin d’accès de script
string. Obligatoire lorsque scriptLocation = scriptPath.

Chemin complet du script. Utilisez .ps1, .batou .cmd lors de l’utilisation de l’agent Windows. Utilisez .ps1 ou .sh lors de l’utilisation de l’agent Linux ou d’un chemin d’accès relatif au répertoire de travail par défaut.


inlineScript - script inline
string. Obligatoire lorsque scriptLocation = inlineScript.

Vous pouvez écrire vos scripts en ligne ici. Lorsque vous utilisez l’agent Windows, utilisez PowerShell, PowerShell Core ou un script par lots. Utilisez le script PowerShell Core ou l’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 de traitement par lots.

call  az --version 
call az account show

arguments - arguments de script
Alias d’entrée : scriptArguments. string.

Arguments passés au script.


powerShellErrorActionPreference - ErrorActionPreference
string. Optionnel. Utilisez quand scriptType = ps || scriptType = pscore. Valeurs autorisées : stop, continue, silentlyContinue. Valeur par défaut : stop.

Place la ligne $ErrorActionPreference = 'VALUE' en haut de votre script PowerShell/PowerShell Core.


détails du principal du service Access addSpnToEnvironment - dans les de script
boolean. Valeur par défaut : false.

Ajoute l’ID du principal de service, la clé du 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 dans l’environnement d’exécution du script. Vous pouvez utiliser les variables servicePrincipalId, servicePrincipalKey ou idTokenet tenantId dans votre script.

Cela est respecté uniquement lorsque le point de terminaison Azure possède un schéma d’authentification du 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 shell : $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 versions de 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 est vide, cette entrée est la racine du référentiel (build) ou des artefacts (mise en production), qui est $(System.DefaultWorkingDirectory).


failOnStandardError - Échec sur les d’erreur standard
boolean. Valeur par défaut : false.

Si cette entrée est vraie, cette tâche échoue lorsque des erreurs sont écrites dans le flux StandardError. Décochez la case pour ignorer les erreurs standard et utilisez plutôt les codes de sortie pour déterminer l’état.


powerShellIgnoreLASTEXITCODE - Ignorer $LASTEXITCODE
boolean. Optionnel. 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.


visibleAzLogin - az login output visibility
boolean. Valeur par défaut : true.

Si cette valeur est définie sur true, la commande az login génère une sortie vers la tâche. La définition de la valeur false supprime la sortie de connexion az.


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.

Remarques

Nouveautés de la tâche version 2.0

  • Prise en charge du script PowerShell et 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 ultérieure.

Conditions préalables

  • 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 inline :

    - 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'
    

Spécifications

Besoin Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande N'importe quel
variables settables N'importe quel
Version de l’agent 2.0.0 ou version ultérieure
Catégorie de tâche Déployer

Voir aussi