Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Exécutez des commandes Azure CLI sur un abonnement Azure dans un script PowerShell Core/Shell lors de l’exécution sur un agent Linux ou sur PowerShell/PowerShell Core/Batch script lors de l’exécution sous un agent Windows.
Note
Cette tâche est publiée dans le cadre du Azure DevOps Access avec Microsoft Entra fonctionnalité d’identité de charge de travail, et est déployée cette semaine et la semaine prochaine. Si vous ne voyez pas encore cette fonctionnalité sur votre projet Azure DevOps Services, revenez dans quelques jours.
Syntaxe
# Azure CLI v3
# 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@3
inputs:
connectionType: 'azureRM' # 'azureRM' | 'azureDevOps'. Required. Connection Type. Default: azureRM.
azureSubscription: # string. Alias: connectedServiceNameARM. Required when connectionType = azureRM. Azure Resource Manager connection.
#azureDevOpsServiceConnection: # string. Required when connectionType = azureDevOps. Azure DevOps Service 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.
#allowNoSubscriptions: false # boolean. Allow no Azure subscriptions. Default: false.
#keepAzSessionActive: false # boolean. [Experimental] Keep Azure CLI session active. Default: false.
Données d'entrée
connectionType
-
type de connexion
string. Obligatoire. Valeurs autorisées : azureRM (Azure Resource Manager), azureDevOps (Azure DevOps). Valeur par défaut : azureRM.
Type de connexion de service à utiliser.
Alias d’entrée : connectedServiceNameARM.
string. Obligatoire lorsque connectionType = azureRM.
Spécifiez une connexion de service Azure Resource Manager pour le déploiement.
azureDevOpsServiceConnection
-
Azure DevOps Connexion de service
string. Obligatoire lorsque connectionType = azureDevOps.
Spécifiez une connexion de service Azure DevOps.
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. Ou bien, sélectionnez un script batch, ps ou pscore lors de l’exécution sur Windows agent. 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 vers le script : chemin de fichier ou script en ligne.
scriptPath
-
chemin d’accès de script
string. Obligatoire lorsque scriptLocation = scriptPath.
Chemin complet du script. Utilisez .ps1, .bat ou .cmd lorsque vous utilisez un agent basé sur 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 en ligne
string. Obligatoire lorsque scriptLocation = inlineScript.
Vous pouvez écrire vos scripts en ligne ici. Lorsque vous utilisez l’agent Windows, utilisez PowerShell, PowerShell Core ou des scripts batch. 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
-
Préférence d’Erreur
string. Optionnel. Utilisez quand scriptType = ps || scriptType = pscore. Valeurs autorisées : stop, continue, silentlyContinue. Valeur par défaut : stop.
Ça précède la ligne $ErrorActionPreference = 'VALUE' en haut de ton script/PowerShell Core.
détails du principal du service Access addSpnToEnvironment - dans les de script
boolean. Valeur par défaut : false.
Ajoute l'identifiant principal de service, la clé principale de service 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 variables : servicePrincipalId, servicePrincipalKey et tenantId dans votre script.
Cela n’est respecté que lorsque le point de terminaison Azure dispose d’un schéma d’authentification du Service Principal.
Syntaxe pour accéder aux variables d’environnement en fonction du type de script.
Script Powershell : $env :servicePrincipalId
Script de lot : %servicePrincipalId%
Script shell : $servicePrincipalId.
useGlobalConfig
-
Utilise la configuration globale Azure CLI
boolean. Valeur par défaut : false.
Si cette entrée est fausse, cette tâche utilisera son propre répertoire de configuration Azure CLI séparé. Cela peut être utilisé pour exécuter Azure CLI tâches dans des versions parallèle.
workingDirectory
-
répertoire de travail
Alias d’entrée : cwd.
string.
Spécifiez le répertoire de travail où le script est exécuté. Si elle est laissée vide, la base par défaut est la racine du dépôt (build) ou des artefacts (release), qui est []$(System.DefaultWorkingDirectory)](/azure/devops/pipelines/build/variables#system-variables).
failOnStandardError
-
Échec sur les d’erreur standard
boolean. Valeur par défaut : false.
Si cela est vrai, cette tâche échouera lorsque des erreurs seront écrites dans le flux StandardError. Désactivez la case à cocher pour ignorer les erreurs standard et consultez 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 cela est faux, la phrase if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } est ajoutée à la fin de votre script. Cela fera que le dernier code de sortie d’une commande externe sera propagé sous forme de code de sortie de PowerShell. Sinon, la phrase n’est pas ajoutée à la fin de votre script.
visibleAzLogin
-
Visibilité de sortie de connexion az
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.
allowNoSubscriptions
-
Pas d’abonnement Azure
boolean. Valeur par défaut : false.
Si c’est vrai, la tâche ne tentera pas de définir un contexte d’abonnement et permettra des connexions lorsque l’identité n’a accès à aucun abonnement. Vous pouvez également fournir un SubscriptionID entièrement nul (00000000-0000-0000-0000-0000-00000000000) dans la connexion de service pour éviter implicitement la définition du contexte d’abonnement.
keepAzSessionActive
-
[Expérimental] Gardez Azure CLI session active
boolean. Valeur par défaut : false.
Lorsqu’elle est activée, cette tâche se connecte continuellement à Azure pour éviter AADSTS700024 erreurs lors de la demande de jetons d’accès au-delà de la date d’expiration de l’IdToken. Notez que cette fonctionnalité est EXPÉRIMENTALE, peut ne pas fonctionner dans tous les scénarios et que vous l’utilisez sans aucune garantie. Valable uniquement pour les connexions de service utilisant le schéma d’authentification de la Fédération d’Identité de Charge de Charge.
Options de contrôle de tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Remarques
Nouveautés dans la tâche Version version 3.0
- Prise en charge des types de connexion doubles : Azure Resource Manager et Azure DevOps service connections.
- Intégration CLI Azure DevOps avec installation et configuration automatiques des extensions.
- Prise en charge de la Fédération d’Identité de Charge de travail pour les connexions Azure DevOps.
- Ajout de l'option « Ne permettre aucun abonnement Azure » pour supporter les identités sans accès à l'abonnement.
Prerequisites
- Un abonnement Microsoft Azure.
- Azure Resource Manager connexion au service à votre compte Azure.
- Les agents hébergés Microsoft ont Azure CLI préinstallé. Cependant, si vous utilisez des agents privés, installe Azure CLI sur le(s) ordinateur(s) qui exécutent l’agent de compilation et de release. Si un agent fonctionne déjà sur la machine sur laquelle l’Azure CLI est installée, redémarrez l’agent pour vous assurer que toutes les variables d’étape pertinentes sont mises à jour.
Exigences
| Prérequis | Description |
|---|---|
| Types de pipelines | YAML, Build Classique, Version Classique |
| Exécutions sur | Agent, Groupe de déploiement |
| Demandes | Aucun |
| Capacités | Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail. |
| restrictions de commande | N'importe lequel |
| variables settables | N'importe lequel |
| Version de l’agent | 2.0.0 ou version ultérieure |
| Catégorie de tâche | Déployer |