Configurer des pipelines pour utiliser de manière sécurisée des variables et des paramètres
Dans ce labo, vous allez découvrir comment configurer des pipelines pour utiliser de manière sécurisée des variables et des paramètres.
Ces exercices prennent environ 20 minutes.
Avant de commencer
Vous aurez besoin d’un abonnement Azure, d’une organisation Azure DevOps et de l’application eShopOnWeb pour suivre les labos.
- Procédez comme suit pour valider votre environnement de labo.
Instructions
Exercice 1 : Vérifier les types de paramètres et variables
Tâche 1 : (ignorer si déjà effectuée) importer et exécuter le pipeline CI
Commençons par importer le pipeline CI nommé eshoponweb-ci.yml.
-
Accédez au Portail Azure DevOps sur
https://aex.dev.azure.com
et ouvrez votre organisation. -
Ouvrez le projet eShopOnWeb dans Azure DevOps.
-
Accédez à Pipelines > Pipelines.
-
Sélectionnez le bouton Créer un pipeline.
-
Sélectionnez Azure Repos Git (Yaml).
-
Sélectionnez le référentiel eShopOnWeb.
-
Sélectionnez Fichier YAML Azure Pipelines existant.
-
Sélectionnez le fichier /.ado/eshoponweb-ci.yml, puis cliquez sur Continuer.
-
Sélectionnez le bouton Exécuter pour exécuter le pipeline.
Remarque : votre pipeline est nommé en fonction du nom du projet. Vous le renommez pour identifier plus facilement le pipeline.
-
Accédez à Pipelines > Pipelines et sélectionnez le pipeline récemment créé. Sélectionnez les points de suspension puis Renommer/déplacer.
-
Nommez-le eshoponweb-ci, puis sélectionnez Enregistrer.
Tâche 2 : Vérifier les types de paramètre pour les pipelines YAML
Dans cette tâche, vous allez définir des types de paramètre et des paramètres pour le pipeline.
-
Accédez à Pipelines > Pipelines et sélectionnez le pipeline eshoponweb-ci.
-
Sélectionnez Modifier.
-
Ajoutez les paramètres suivants figurant au-dessus des sections des travaux en haut du fichier YAML :
parameters: - name: dotNetProjects type: string default: '**/*.sln' - name: testProjects type: string default: 'tests/UnitTests/*.csproj' jobs: - job: Build pool: eShopOnWebSelfPool steps:
-
Remplacez les chemins d’accès codés en dur dans les tâches « Restaurer », « Générer » et « Tester » par les paramètres que vous venez de créer.
- Remplacez les projets :
**/*.sln
par des projets :$
dans les tâchesRestore
etBuild
. - Remplacez les projets :
tests/UnitTests/*.csproj
par des projets :$
dans la tâcheTest
Les tâches « Restaurer », « Générer » et « Tester » de la section des étapes du fichier YAML doivent ressembler à ceci :
steps: - task: DotNetCoreCLI@2 displayName: Restore inputs: command: 'restore' projects: $ feedsToUse: 'select' - task: DotNetCoreCLI@2 displayName: Build inputs: command: 'build' projects: $ - task: DotNetCoreCLI@2 displayName: Test inputs: command: 'test' projects: $
- Remplacez les projets :
-
Cliquez sur Valider et enregistrer pour enregistrer les modifications, puis cliquez sur Enregistrer.
-
Accédez à Pipelines > Pipelines et ouvrez le pipeline eshoponweb-ci en qui se déclenche automatiquement.
-
Vérifiez que l’exécution du pipeline se termine avec succès.
Tâche 3 : Sécurisation des variables et des paramètres
Dans cette tâche, vous allez sécuriser les variables et les paramètres de votre pipeline à l’aide de groupes de variables.
-
Accédez à Pipelines > Bibliothèque.
-
Sélectionnez le bouton + Groupe de variables pour créer un groupe de variables nommé
BuildConfigurations
. -
Ajoutez une variable nommée
buildConfiguration
et définissez sa valeur surRelease
. -
Enregistrez le groupe de variables.
-
Sélectionnez le bouton Autorisations de pipeline, puis sélectionnez le bouton + pour ajouter un nouveau pipeline.
-
Sélectionnez le pipeline eshoponweb-ci pour permettre au pipeline d’utiliser le groupe de variables.
Remarque : vous pouvez également définir des utilisateurs ou des groupes spécifiques pour pouvoir modifier le groupe de variables en cliquant sur le bouton Sécurité.
-
Accédez à Pipelines > Pipelines.
-
Ouvrez le pipeline eshoponweb-ci-, puis sélectionnez Modifier.
-
En haut du fichier yaml, juste sous les paramètres, référencez le groupe de variables en ajoutant ce qui suit :
variables: - group: BuildConfigurations
-
Dans la tâche « Générer », ajoutez le paramètre de configuration à la tâche pour utiliser la configuration de build à partir du groupe de variables.
command: 'build' projects: $ configuration: $(buildConfiguration)
-
Cliquez sur Valider et enregistrer pour enregistrer les modifications, puis cliquez sur Enregistrer.
-
Ouvrez l’exécution de pipeline eshoponweb-ci. Il doit s’exécuter correctement avec la configuration de build définie sur « Lancement ». Vous pouvez le vérifier en examinant les journaux de la tâche « Générer ».
Remarque : si vous ne voyez pas la configuration de build définie sur « Lancement » dans les journaux, activez les diagnostics du système et réexécutez le pipeline pour afficher la valeur de configuration.
Remarque : sn suivant cette approche, vous pouvez sécuriser vos variables et paramètres en utilisant des groupes de variables sans avoir à les coder en dur dans les fichiers YAML.
Tâche 4 : Validation des variables et paramètres obligatoires
Dans cette tâche, vous allez valider les variables obligatoires avant l’exécution du pipeline.
-
Accédez à Pipelines > Pipelines.
-
Ouvrez le pipeline eshoponweb-ci-, puis sélectionnez Modifier.
-
Dans la section des étapes, au début (en suivant la ligne steps), ajoutez une nouvelle tâche de script pour valider les variables obligatoires avant l’exécution du pipeline.
- script: | IF NOT DEFINED buildConfiguration ( ECHO Error: buildConfiguration variable is not set EXIT /B 1 ) displayName: 'Validate Variables'
Remarque : il s’agit d’une validation simple pour vérifier si la variable est définie. Si les variables ne sont pas définies, le script échouera et le pipeline s’arrêtera. Vous pouvez ajouter une validation plus complexe pour vérifier la valeur de la variable ou si elle est définie sur une valeur spécifique.
-
Cliquez sur Valider et enregistrer pour enregistrer les modifications, puis cliquez sur Enregistrer.
-
Ouvrez l’exécution de pipeline eshoponweb-ci. Il s’exécute correctement, car la variable buildConfiguration est définie dans le groupe de variables.
-
Pour tester la validation, supprimez la variable buildConfiguration du groupe de variables ou renommez la variable, puis réexécutez le pipeline. Il doit échouer avec l’erreur suivante :
Error: buildConfiguration variable is not set
-
Ajoutez la variable buildConfiguration au groupe de variables et réexécutez le pipeline. Cette opération doit s’exécuter avec succès.
[!IMPORTANT] N’oubliez pas de supprimer les ressources créées dans le portail Azure pour éviter les frais inutiles.
Révision
Dans ce labo, vous avez appris comment configurer des pipelines pour utiliser de manière sécurisée des variables et des paramètres.