Ajouter et utiliser des groupes de variables
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Les groupes de variables stockent des valeurs et des secrets potentiellement destinés à être transférés à un pipeline YAML ou mis à la disposition de plusieurs pipelines. Vous pouvez partager et utiliser des groupes de variables entre plusieurs pipelines dans le même projet.
Les variables secrètes dans les groupes de variables sont des ressources protégées. Vous pouvez ajouter des combinaisons d’approbations, de vérifications et d’autorisations de pipeline pour limiter l’accès aux variables secrètes d’un groupe de variables. L’accès aux variables non secrètes n’est pas limité par des approbations, des vérifications et des autorisations de pipeline.
Créer un groupe de variables
Vous ne pouvez pas créer de groupes de variables en YAML, mais ils peuvent être utilisés comme décrit dans Utiliser un groupe de variables.
Utiliser un groupe de variables
Pour utiliser une variable d’un groupe de variables, ajoutez une référence au groupe dans votre fichier YAML :
variables:
- group: my-variable-group
Les variables du groupe de variables peuvent ensuite être utilisées dans votre fichier YAML.
Si vous utilisez à la fois des variables et des groupes de variables, utilisez la syntaxe name
/value
pour les variables individuelles ne faisant pas partie d’un groupe :
variables:
- group: my-variable-group
- name: my-bare-variable
value: 'value of my-bare-variable'
Pour référencer un groupe de variables, utilisez la syntaxe macro ou une expression d’exécution. Dans l’exemple suivant, le groupe my-variable-group
a une variable nommée myhello
.
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello] # uses runtime expression
steps:
- script: echo $(myhello) # uses macro syntax
- script: echo $(my-passed-variable)
Vous pouvez référencer plusieurs groupes de variables dans le même pipeline. Si plusieurs groupes de variables incluent la même variable, le groupe inclus en dernier dans votre fichier YAML définit la valeur de la variable.
variables:
- group: my-first-variable-group
- group: my-second-variable-group
Vous pouvez également référencer un groupe de variables dans un modèle. Dans le modèle variables.yml
, le groupe my-variable-group
est référencé. Le groupe de variables inclut une variable nommée myhello
.
# variables.yml
variables:
- group: my-variable-group
Dans ce pipeline, la variable $(myhello)
du groupe de variables my-variable-group
est incluse et variables.yml
est référencé.
# azure-pipeline.yml
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Autoriser un groupe de variables
Pour utiliser un groupe de variables, vous devez l’autoriser. Si vous nommez le groupe de variables dans le code YAML uniquement, toute personne qui peut pousser (push) du code dans votre dépôt peut extraire le contenu des secrets inclus dans le groupe de variables. Pour autoriser le groupe, utilisez l’une des techniques suivantes :
Pour autoriser un groupe de variables pour un pipeline spécifique, ouvrez le pipeline, sélectionnez Modifier, puis mettez en file d’attente une build manuellement. Vous verrez une erreur d’autorisation de ressource et une action « Autoriser les ressources » sur l’erreur. Choisissez cette action pour ajouter explicitement le pipeline en tant qu’utilisateur autorisé du groupe de variables.
Pour autoriser n’importe quel pipeline à utiliser le groupe de variables, accédez à Azure Pipelines. Cette option peut être intéressante si vous n’avez aucun secret dans le groupe. Sélectionnez Bibliothèque>Groupes de variables, puis sélectionnez le groupe de variables en question et activez le paramètre Autoriser l’accès à tous les pipelines.
Remarque
Si vous ajoutez un groupe de variables à un pipeline et que vous ne voyez pas d’erreur d’autorisation de ressource dans votre build alors que vous en attendez une, désactivez le paramètre Autoriser l’accès à tous les pipelines.
Accédez aux valeurs de variable d’un groupe de variables lié comme vous le faites pour des variables que vous définissez dans le pipeline lui-même.
Par exemple, pour accéder à la valeur d’une variable nommée client d’un groupe de variables lié au pipeline, utilisez $(customer)
dans un script ou un paramètre de tâche. Toutefois, vous ne pouvez pas accéder à des variables secrètes (variables chiffrées et variables de coffre de clés) directement dans des scripts. Elles doivent être transférées comme arguments à une tâche. Pour plus d’informations, consultez la section sur les secrets
Les modifications que vous apportez à un groupe de variables sont automatiquement disponibles pour toutes les définitions ou phases auxquelles le groupe de variables est lié.
Lister les groupes de variables
Utilisez l’interface de ligne de commande pour lister les groupes de variables pour les exécutions de pipelines avec la commande az pipelines variable-group list. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group list [--action {manage, none, use}]
[--continuation-token]
[--group-name]
[--org]
[--project]
[--query-order {Asc, Desc}]
[--top]
Paramètres facultatifs
- action : Spécifie l’action qui peut être effectuée sur les groupes de variables. Les valeurs acceptées sont manage, none et use.
- continuation-token : Liste les groupes de variables après la fourniture d’un jeton de continuation.
- group-name : Nom du groupe de variables. Les caractères génériques sont acceptés, par exemple
new-var*
. - org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. - query-order : Liste les résultats dans l’ordre croissant ou décroissant (par défaut). Les valeurs acceptées sont Asc et Desc.
- top : Nombre de groupes de variables à lister.
Exemple
La commande suivante liste les trois premiers groupes de variables dans l’ordre croissant et retourne les résultats sous forme de tableau.
az pipelines variable-group list --top 3 --query-order Asc --output table
ID Name Type Number of Variables
---- ----------------- ------ ---------------------
1 myvariables Vsts 2
2 newvariables Vsts 4
3 new-app-variables Vsts 3
Voir les détails d’un groupe de variables
Affichez les détails d’un groupe de variables de votre projet avec la commande az pipelines variable-group show. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group show --group-id
[--org]
[--project]
Paramètres
- group-id : Obligatoire. ID du groupe de variables. Pour savoir comment rechercher l’ID du groupe de variables, consultez Lister les groupes de variables.
- org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
.
Exemple
La commande suivante affiche les détails du groupe de variables avec l’ID 4 et retourne les résultats au format YAML.
az pipelines variable-group show --group-id 4 --output yaml
authorized: false
description: Variables for my new app
id: 4
name: MyNewAppVariables
providerData: null
type: Vsts
variables:
app-location:
isSecret: null
value: Head_Office
app-name:
isSecret: null
value: Fabrikam
Supprimer un groupe de variables
Supprimez un groupe de variables de votre projet avec la commande az pipelines variable-group delete. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Paramètres
- group-id : Obligatoire. ID du groupe de variables. Pour savoir comment rechercher l’ID du groupe de variables, consultez Lister les groupes de variables.
- org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. - yes : Facultatif. Ne pas demander de confirmation
Exemple
La commande suivante supprime le groupe de variables avec l’ID 1 sans demander confirmation.
az pipelines variable-group delete --group-id 1 --yes
Deleted variable group successfully.
Ajouter des variables à un groupe de variables
Avec l’interface de ligne de commande d’Azure DevOps, vous pouvez ajouter une variable à un groupe de variables dans un pipeline avec la commande az pipelines variable-group variable create. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group variable create --group-id
--name
[--org]
[--project]
[--secret {false, true}]
[--value]
Paramètres
- group-id : Obligatoire. ID du groupe de variables. Pour savoir comment rechercher l’ID du groupe de variables, consultez Lister les groupes de variables.
- nom : Obligatoire. Nom de la variable que vous ajoutez.
- org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. - secret : Facultatif. Indique si la valeur de la variable est un secret. Les valeurs acceptées sont false et true.
- value : Obligatoire pour une variable non secrète. Valeur de la variable. Pour les variables secrètes, si le paramètre value n’est pas fourni, il est sélectionné à partir d’une variable d’environnement préfixée par
AZURE_DEVOPS_EXT_PIPELINE_VAR_
ou bien l’utilisateur est invité à le saisir par le biais d’une entrée standard. Par exemple, une variable nommée MySecret peut être entrée à l’aide de la variable d’environnementAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
.
Exemple
La commande suivante crée une variable dans le groupe de variables avec l’ID 4. La nouvelle variable est nommée requires-login et a la valeur True. Le résultat s’affiche sous forme de tableau.
az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table
Name Is Secret Value
-------------- ----------- -------
requires-login False True
Lister les variables d’un groupe de variables
Vous pouvez lister les variables d’un groupe de variables avec la commande az pipelines variable-group variable list. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group variable list --group-id
[--org]
[--project]
Paramètres
- group-id : Obligatoire. ID du groupe de variables. Pour savoir comment rechercher l’ID du groupe de variables, consultez Lister les groupes de variables.
- org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
.
Exemple
La commande suivante liste toutes les variables du groupe de variables avec l’ID 4 et affiche le résultat sous forme de tableau.
az pipelines variable-group variable list --group-id 4 --output table
Name Is Secret Value
-------------- ----------- -----------
app-location False Head_Office
app-name False Fabrikam
requires-login False True
Mettre à jour les variables d’un groupe de variables
Vous pouvez mettre à jour une variable d’un groupe de variables avec la commande az pipelines variable-group variable update. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group variable update --group-id
--name
[--new-name]
[--org]
[--project]
[--prompt-value {false, true}]
[--secret {false, true}]
[--value]
Paramètres
- group-id : Obligatoire. ID du groupe de variables. Pour savoir comment rechercher l’ID du groupe de variables, consultez Lister les groupes de variables.
- nom : Obligatoire. Nom de la variable que vous ajoutez.
- new-name : Facultatif. Spécifiez ce paramètre pour modifier le nom de la variable.
- org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. - prompt-value : Définissez sur true pour mettre à jour la valeur d’une variable secrète à l’aide d’une variable d’environnement ou d’une invite par le biais d’une entrée standard. Les valeurs acceptées sont false et true.
- secret : Facultatif. Indique si la valeur de la variable est gardée secrète. Les valeurs acceptées sont false et true.
- value : Met à jour la valeur de la variable. Pour une variable secrète, utilisez le paramètre prompt-value pour être invité à la saisir par le biais d’une entrée standard. Pour les consoles non interactives, elle peut être choisie à partir d’une variable d’environnement préfixée par
AZURE_DEVOPS_EXT_PIPELINE_VAR_
. Par exemple, une variable nommée MySecret peut être entrée à l’aide de la variable d’environnementAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
.
Exemple
La commande suivante met à jour la variable requires-login avec la nouvelle valeur False dans le groupe de variables avec l’ID 4. Elle spécifie que la variable est un secret et présente le résultat au format YAML. Notez que la sortie affiche la valeur null et non False, car il s’agit d’une valeur secrète masquée.
az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml
requires-login:
isSecret: true
value: null
Supprimer des variables d’un groupe de variables
Supprimez une variable d’un groupe de variables avec la commande az pipelines variable-group variable delete. Si l’extension Azure DevOps pour l’interface de ligne de commande est nouvelle pour vous, consultez Bien démarrer avec l’interface de ligne de commande d’Azure DevOps.
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Paramètres
- group-id : Obligatoire. ID du groupe de variables. Pour savoir comment rechercher l’ID du groupe de variables, consultez Lister les groupes de variables.
- nom : Obligatoire. Nom de la variable que vous supprimez.
- org : URL de l’organisation Azure DevOps. Configurez l’organisation par défaut avec
az devops configure -d organization=ORG_URL
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. Exemple :--org https://dev.azure.com/MyOrganizationName/
. - project : Nom ou ID du projet. Configurez le projet par défaut avec
az devops configure -d project=NAME_OR_ID
. Obligatoire si ce paramètre n’est pas configuré par défaut ou récupéré avecgit config
. - yes : Facultatif. Ne pas demander de confirmation
Exemple
La commande suivante supprime la variable requires-login du groupe de variables avec l’ID 4 et invite à confirmer.
az pipelines variable-group variable delete --group-id 4 --name requires-login
Are you sure you want to delete this variable? (y/n): y
Deleted variable 'requires-login' successfully.
Lier des secrets à partir d’un coffre de clés Azure Key Vault
Remarque
Les coffres de clés utilisant le contrôle d’accès basé sur les rôles Azure (Azure RBAC) ne sont pas pris en charge.
Liez un coffre de clés Azure existant à un groupe de variables et mappez les secrets de coffre sélectifs au groupe de variables.
Dans la page Groupes de variables, activez Lier les secrets d’un coffre de clés Azure Key Vault en tant que variables. Vous aurez besoin d’un coffre de clés existant contenant vos secrets. Créez un coffre de clés à l’aide du portail Azure.
Spécifiez le point de terminaison de votre abonnement Azure et le nom du coffre contenant vos secrets.
Vérifiez que la connexion au service Azure dispose au moins des autorisations de gestion Obtenir et Lister sur le coffre pour les secrets. Activez Azure Pipelines pour définir ces autorisations en choisissant Autoriser en regard du nom du coffre. Ou définissez les autorisations manuellement dans le portail Azure :
- Ouvrez Paramètres pour le coffre, puis choisissez Stratégies d’accès>Ajouter nouveau.
- Sélectionnez Sélectionner le principal, puis choisissez le principal de service de votre compte client.
- Sélectionnez Autorisations du secret et vérifiez que les options Obtenir et Lister sont cochées.
- Sélectionnez OK pour enregistrer les modifications.
Dans la page Groupes de variables, sélectionnez + Ajouter pour sélectionner des secrets spécifiques dans votre coffre à mapper à ce groupe de variables.
Gérer les secrets du coffre de clés
Consultez la liste suivante de conseils utiles pour gérer les secrets.
Seuls les noms de secrets sont mappés au groupe de variables, pas leurs valeurs. La valeur de secret la plus récente, extraite du coffre, est utilisée dans l’exécution du pipeline liée au groupe de variables.
Toute modification apportée aux secrets existants dans le coffre de clés est automatiquement disponible pour tous les pipelines utilisés par le groupe de variables.
Lorsque de nouveaux secrets sont ajoutés ou supprimés dans le coffre, les groupes de variables associés ne sont pas automatiquement mis à jour. Les secrets inclus dans le groupe de variables doivent être mis à jour explicitement afin que les pipelines qui utilisent le groupe de variables soient exécutés correctement.
Azure Key Vault prend en charge le stockage et la gestion des clés de chiffrement et des secrets dans Azure. Actuellement, l’intégration des groupes de variables Azure Pipelines prend en charge le mappage des secrets issus du coffre de clés Azure uniquement. Les clés de chiffrement et les certificats ne sont pas pris en charge.
Expansion de variables dans un groupe
Quand vous définissez une variable dans un groupe et que vous l’utilisez dans un fichier YAML, elle est égale à d’autres variables définies dans le fichier YAML. Pour plus d’informations sur la priorité des variables, consultez Variables.
Articles connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : pendant toute l’année 2024, nous allons éliminer progressivement Problèmes GitHub comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, voir :Soumettre et afficher des commentaires pour