Partager via


Gérer les groupes de variables

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Cet article explique comment créer et utiliser des groupes de variables dans Azure Pipelines. Les groupes de variables stockent des valeurs et des secrets que vous pouvez passer dans un pipeline YAML ou rendre disponibles dans plusieurs pipelines d'un 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 ou des permissions de pipeline.

Les groupes de variables suivent le modèle de sécurité de la bibliothèque pour les rôles et les permissions.

Prérequis

  • Une organisation et un projet Azure DevOps Services où vous disposez des autorisations nécessaires pour créer des pipelines et des variables.
  • Projet dans votre organisation Azure DevOps ou collection Azure DevOps Server. Créez un projet si vous n’en avez pas.
  • Si vous utilisez Azure DevOps CLI, vous avez besoin d’Azure CLI version 2.30.0 ou ultérieure avec l’extension Azure DevOps CLI. Pour plus d’informations, consultez Prise en main d’Azure DevOps CLI.
  • Collection et projet Azure DevOps Server dans lesquels vous disposez des autorisations nécessaires pour créer des pipelines et des variables.
  • Projet dans votre organisation Azure DevOps ou collection Azure DevOps Server. Créez un projet si vous n’en avez pas.

Configurer l’interface CLI

Si vous utilisez Azure DevOps CLI, vous devez configurer l’interface CLI pour travailler avec votre organisation et votre projet Azure DevOps.

  1. Connectez-vous à votre organisation Azure DevOps à l’aide de la commande az login .

    az login
    
  2. Si vous y êtes invité, sélectionnez votre abonnement dans la liste affichée dans votre fenêtre de terminal.

  3. Vérifiez que vous exécutez la dernière version d’Azure CLI et l’extension Azure DevOps à l’aide des commandes suivantes.

    az upgrade
    az extension add --name azure-devops --upgrade
    
  4. Dans les commandes CLI Azure DevOps, vous pouvez définir l’organisation et le projet par défaut à l’aide des éléments suivants :

    az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
    

    Si vous n’avez pas défini l’organisation et le projet par défaut, vous pouvez utiliser le detect=true paramètre dans vos commandes pour détecter automatiquement le contexte de l’organisation et du projet en fonction de votre répertoire actif. Si les valeurs par défaut ne sont pas configurées ou détectées, vous devez spécifier explicitement les paramètres et project les org paramètres dans vos commandes.

Créer un groupe de variables

Vous pouvez créer des groupes de variables pour les exécutions du pipeline dans votre projet.

Remarque

Pour créer un groupe de variables secrètes pour lier des secrets à partir d’un coffre de clés Azure en tant que variables, suivez les instructions de l’adresse Lier un groupe de variables aux secrets dans Azure Key Vault.

  1. Dans votre projet Azure DevOps, sélectionnez Pipelines>Bibliothèque dans le menu de gauche.

  2. Dans la page Bibliothèque, sélectionnez + Groupe de variables.

    Capture d'écran de l'écran Bibliothèque et du bouton Ajouter un groupe de variables.

  3. Sur la page du nouveau groupe de variables, sous Propriétés, saisissez un nom et une description facultative pour le groupe de variables.

  4. Sous Variables, sélectionnez + Ajouter, puis entrez un nom de variable et une valeur à inclure dans le groupe. Si vous souhaitez chiffrer et stocker la valeur en toute sécurité, sélectionnez l'icône de cadenas en regard de la variable.

  5. Sélectionnez + Ajouter pour ajouter chaque nouvelle variable. Lorsque vous avez fini d'ajouter des variables, sélectionnez Enregistrer.

    Capture d'écran de la configuration et de l'enregistrement d'un groupe de variables.

Vous pouvez maintenant utiliser ce groupe de variables dans les pipelines de projet.

Mise à jour des groupes de variables

Vous pouvez mettre à jour les groupes de variables en utilisant l'interface utilisateur Azure Pipelines.

  1. Dans votre projet Azure DevOps, sélectionnez Pipelines>Bibliothèque dans le menu de gauche.
  2. Sur la page Bibliothèque, sélectionnez le groupe de variables que vous souhaitez mettre à jour. Vous pouvez également survoler la liste des groupes de variables, sélectionner l'icône Plus d'options et sélectionner Modifier dans le menu.
  3. Sur la page du groupe de variables, modifiez l'une des propriétés, puis sélectionnez Enregistrer.

Supprimer un groupe de variables

Vous pouvez supprimer des groupes de variables dans l'interface utilisateur d'Azure Pipelines.

  1. Dans votre projet Azure DevOps, sélectionnez Pipelines>Bibliothèque dans le menu de gauche.
  2. Sur la page Bibliothèque, survolez le groupe de variables que vous souhaitez supprimer et sélectionnez l'icône Plus d'options.
  3. Sélectionnez Supprimer dans le menu, puis sélectionnez Supprimer dans l'écran de confirmation.

Gérer les variables dans les groupes de variables

Vous pouvez modifier, ajouter ou supprimer des variables dans des groupes de variables en utilisant l'interface utilisateur Azure Pipelines.

  1. Dans votre projet Azure DevOps, sélectionnez Pipelines>Bibliothèque dans le menu de gauche.
  2. Sur la page Bibliothèque, sélectionnez le groupe de variables que vous souhaitez mettre à jour. Vous pouvez également survoler la liste des groupes de variables, sélectionner l'icône Plus d'options et sélectionner Modifier dans le menu.
  3. Sur la page du groupe de variables, vous pouvez
    • Modifier n'importe quel nom ou valeur de variable.
    • Supprimer l'une des variables en sélectionnant l'icône de la poubelle à côté du nom de la variable.
    • Changer les variables en secrètes ou non secrètes en sélectionnant l'icône de cadenas à côté de la valeur de la variable.
    • Ajoutez de nouvelles variables en sélectionnant + Ajouter.
  4. Après avoir effectué les modifications, sélectionnez Enregistrer.

Utiliser des groupes de variables dans les pipelines

Vous pouvez utiliser des groupes de variables dans les pipelines YAML ou Classic. Les modifications que vous apportez à un groupe de variables sont automatiquement disponibles pour toutes les définitions ou étapes auxquelles le groupe de variables est lié.

Si vous ne nommez que le groupe de variables dans les pipelines YAML, quiconque peut pousser du code dans votre référentiel pourrait extraire le contenu des secrets du groupe de variables. Par conséquent, pour utiliser un groupe de variables avec les pipelines YAML, vous devez autoriser le pipeline à utiliser le groupe. Vous pouvez autoriser un pipeline à utiliser un groupe de variables dans l’interface utilisateur Azure Pipelines ou à l’aide d’Azure DevOps CLI.

Autorisation via l’interface utilisateur de Pipelines

Vous pouvez autoriser les pipelines à utiliser vos groupes de variables en utilisant l'interface utilisateur Azure Pipelines.

  1. Dans votre projet Azure DevOps, sélectionnez Pipelines>Bibliothèque dans le menu de gauche.
  2. Sur la page Bibliothèque, sélectionnez le groupe de variables que vous souhaitez autoriser.
  3. Sur la page du groupe de variables, sélectionnez l'onglet Autorisations des pipelines.
  4. Dans l'écran des permissions relatives aux pipelines, sélectionnez +, puis un pipeline à autoriser. Vous pouvez également sélectionner l'icône Autres actions, sélectionner Accès libre, puis sélectionner à nouveau Accès libre pour confirmer.

La sélection d'un pipeline autorise ce pipeline à utiliser le groupe de variables. Pour autoriser un autre pipeline, sélectionnez à nouveau l'icône +. En sélectionnant Accès libre, vous autorisez tous les pipelines du projet à utiliser le groupe de variables. L'accès libre peut être une bonne option si vous n'avez pas de secrets dans le groupe.

Une autre façon d'autoriser un groupe de variables consiste à sélectionner le pipeline, à sélectionner Modifier, puis à mettre en file d'attente un build manuellement. Vous voyez une erreur d'autorisation de ressource et pouvez ensuite ajouter explicitement le pipeline en tant qu'utilisateur autorisé du groupe de variables.

Autorisation via Azure DevOps CLI

Dans Azure DevOps Services, vous pouvez autoriser des groupes de variables en utilisant la CLI Azure DevOps.

Les commandes Azure DevOps CLI ne sont pas prises en charge pour Azure DevOps Server.

Pour autoriser tous les pipelines du projet à utiliser le groupe de variables, attribuez la valeur authorize au paramètre de la commande az pipelines variable-group createtrue. Cet accès ouvert peut être une bonne option si vous n’avez pas de secrets dans le groupe.

Une fois que vous autorisez un pipeline YAML à utiliser un groupe de variables, vous pouvez utiliser des variables au sein du groupe dans le pipeline.

Pour utiliser des variables à partir d’un groupe de variables, ajoutez une référence au nom du groupe dans votre fichier de pipeline YAML.

variables:
- group: my-variable-group

Vous pouvez référencer plusieurs groupes de variables dans le même pipeline. Si plusieurs groupes de variables incluent les variables portant le même nom, le dernier groupe de variables qui utilise la variable dans le fichier définit la valeur de la variable. Pour plus d'informations sur la préséance des variables, voir Expansion des variables.

Vous pouvez également référencer un groupe de variables dans un modèle. Le fichier modèle variables.yml suivant fait référence au groupe de variables my-variable-group. Le groupe de variables inclut une variable nommée myhello.

variables:
- group: my-variable-group

Le pipeline YAML fait référence au modèle variables.yml et utilise la variable $(myhello) du groupe de variables my-variable-group.

stages:
- stage: MyStage
  variables:
  - template: variables.yml
  jobs:
  - job: Test
    steps:
    - script: echo $(myhello)

Utiliser des variables dans un groupe de variables liés

Vous accédez aux valeurs des variables dans un groupe de variables lié de la même façon que vous accédez aux variables que vous définissez dans le pipeline. Par exemple, pour accéder à la valeur d'une variable nommée customer dans un groupe de variables lié au pipeline, vous pouvez utiliser $(customer) dans un paramètre de tâche ou un script.

Si vous utilisez à la fois des variables autonomes et des groupes de variables dans votre fichier pipeline, utilisez la syntaxe name-value pour les variables autonomes.

variables:
- group: my-variable-group
- name: my-standalone-variable
  value: 'my-standalone-variable-value'

Pour référencer une variable dans un groupe de variables, vous pouvez utiliser la syntaxe macro ou une expression d'exécution. Dans les exemples suivants, le groupe my-variable-group a une variable nommée myhello.

Pour utiliser une expression d'exécution :

variables:
- group: my-variable-group
- name: my-passed-variable
  value: $[variables.myhello]
- script: echo $(my-passed-variable)

Pour utiliser la syntaxe macro :

variables:
- group: my-variable-group

steps:
- script: echo $(myhello)

Vous ne pouvez pas accéder aux variables secrètes, y compris les variables chiffrées et les variables du Key Vault, directement dans les scripts. Vous devez transmettre ces variables en tant qu'arguments à une tâche. Pour plus d'informations, voir Variables secrètes.