Étendre un pipeline pour utiliser plusieurs modèles
Dans ce module, découvrez pourquoi il est important d’étendre un pipeline à plusieurs modèles et comment le faire avec Azure DevOps. Ce labo couvre les concepts fondamentaux et les bonnes pratiques pour créer un pipeline multiphase, un modèle de variables, un modèle de travail et un modèle de phase.
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 : Créer un pipeline YAML multiphase
Dans cet exercice, vous allez créer un pipeline YAML à plusieurs étapes dans Azure DevOps.
Tâche 1 : Créer un pipeline YAML principal multiphase
-
Accédez au Portail Azure DevOps sur
https://aex.dev.azure.com
et ouvrez votre organisation. -
Ouvrez le projet eShopOnWeb.
-
Accédez à Pipelines > Pipelines.
-
Cliquez sur le bouton Nouveau pipeline.
-
Sélectionnez Azure Repos Git (YAML).
-
Sélectionnez le référentiel eShopOnWeb .
-
Sélectionnez Pipeline de démarrage.
-
Remplacez le contenu du fichier azure-pipelines.yml par le code suivant :
trigger: - main pool: vmImage: 'windows-latest' stages: - stage: Dev jobs: - job: Build steps: - script: echo Build - stage: Test jobs: - job: Test steps: - script: echo Test - stage: Production jobs: - job: Deploy steps: - script: echo Deploy
-
Sélectionnez Enregistrer et exécuter. Choisissez de commiter directement dans la branche principale, puis sélectionnez à nouveau Enregistrer et exécuter.
-
Vous verrez le pipeline s’exécutant avec les trois phases (Dev, Test et Production) et les travaux correspondants. Attendez que le pipeline se termine et revenez à la page Pipelines.
-
Sélectionnez … (Autres options) sur le côté droit du pipeline que vous venez de créer, puis sélectionnez Renommer/déplacer.
-
Renommez le pipeline eShopOnWeb-MultiStage-Main, puis sélectionnez Enregistrer.
Tâche 2 : Créer un modèle de variables
-
Accédez à Repos > Fichiers.
-
Développez le dossier .ado et cliquez sur Nouveau fichier.
-
Nommez le fichier eshoponweb-variables.yml, puis cliquez sur Créer.
-
Ajoutez le code suivant au fichier :
variables: resource-group: 'YOUR-RESOURCE-GROUP-NAME' location: 'centralus' templateFile: 'infra/webapp.bicep' subscriptionid: 'YOUR-SUBSCRIPTION-ID' azureserviceconnection: 'YOUR-AZURE-SERVICE-CONNECTION-NAME' webappname: 'YOUR-WEB-APP-NAME'
-
Remplacez les valeurs des variables par les valeurs de votre environnement :
- Remplacez YOUR-RESOURCE-GROUP-NAME par le nom du groupe de ressources que vous souhaitez utiliser dans ce labo, par exemple, rg-eshoponweb-secure.
- Définissez la valeur de la variable d’emplacement sur le nom de la région Azure dans laquelle vous souhaitez déployer vos ressources, par exemple, centralus.
- Remplacez YOUR-SUBSCRIPTION-ID par votre ID d’abonnement Azure.
- Remplacez YOUR-AZURE-SERVICE-CONNECTION-NAME par azure subs.
- Remplacez YOUR-WEB-APP-NAME par un nom unique au monde de l’application web à déployer, par exemple, la chaîne eshoponweb-lab-multi-123456 suivie d’un nombre aléatoire à six chiffres.
-
Sélectionnez Commiter, dans la zone de texte de commentaire de commit, entrez
[skip ci]
, puis sélectionnez Commiter.Remarque : en ajoutant le commentaire
[skip ci]
au commit, vous empêchez l’exécution automatique du pipeline qui, à ce stade, s’exécute par défaut après chaque modification du référentiel.
Tâche 3 : Préparer le pipeline pour utiliser des modèles
-
Dans le portail Azure DevOps, dans la page du projet eShopOnWeb, accédez à Référentiels.
-
Dans le répertoire racine du dépôt, sélectionnez azure-pipelines.yml, qui contient la définition du pipeline eShopOnWeb-MultiStage-Main.
-
Cliquez sur le bouton Modifier.
-
Remplacez le contenu du fichier azure-pipelines.yml par le code suivant :
trigger: - main variables: - template: .ado/eshoponweb-variables.yml stages: - stage: Dev jobs: - template: .ado/eshoponweb-ci.yml - stage: Test jobs: - template: .ado/eshoponweb-cd-webapp-code.yml - stage: Production jobs: - job: Deploy steps: - script: echo Deploy to Production or Swap
-
Sélectionnez Commiter, dans la zone de texte de commentaire de commit, entrez
[skip ci]
, puis sélectionnez Commiter.
Tâche 4 : Mise à jour des modèles CI/CD
-
Dans les référentiels du projet eShopOnWeb, sélectionnez le répertoire .ado et sélectionnez le fichier ** eshoponweb-ci.yml**.
-
Cliquez sur le bouton Modifier.
-
Supprimez tout ce qui précède la section Travaux.
#NAME THE PIPELINE SAME AS FILE (WITHOUT ".yml") # trigger: # - main resources: repositories: - repository: self trigger: none stages: - stage: Build displayName: Build .Net Core Solution
-
Sélectionnez Commiter, dans la zone de texte de commentaire de commit, entrez
[skip ci]
, puis sélectionnez Commiter. -
Dans les référentiels du projet eShopOnWeb, sélectionnez le répertoire .ado et sélectionnez le fichier eshoponweb-cd-webapp-code.yml.
-
Cliquez sur le bouton Modifier.
-
Supprimez tout ce qui précède la section Travaux.
# NAME THE PIPELINE SAME AS FILE (WITHOUT ".yml") # # Trigger CD when CI executed successfully resources: pipelines: - pipeline: eshoponweb-ci source: eshoponweb-ci # given pipeline name trigger: true repositories: - repository: eShopSecurity type: git name: eShopSecurity/eShopSecurity # name of the project and repository variables: - template: eshoponweb-secure-variables.yml@eShopSecurity # name of the template and repository stages: - stage: Test displayName: Testing WebApp jobs: - deployment: Test pool: eShopOnWebSelfPool environment: Test strategy: runOnce: deploy: steps: - script: echo Hello world! Testing environments! - stage: Deploy displayName: Deploy to WebApp
-
Remplacez le contenu existant de l’étape #download artifacts par :
- download: current artifact: Website - download: current artifact: Bicep
-
Sélectionnez Commiter, dans la zone de texte de commentaire de commit, entrez
[skip ci]
, puis sélectionnez Commiter.
Tâche 5 : Exécuter le pipeline principal
-
Accédez à Pipelines > Pipelines.
-
Ouvrez le pipeline eShopOnWeb-MultiStage-Main.
-
Sélectionnez Exécuter le pipeline.
Remarque : si vous recevez un message indiquant que le pipeline a besoin d’une autorisation pour accéder à une ressource avant que cette exécution puisse se poursuivre, sélectionnez Afficher, puis Autoriser et Autoriser à nouveau pour autoriser l’exécution du pipeline.
Remarque : si des travaux de la phase de déploiement échouent, accédez à la page d’exécution du pipeline et sélectionnez Réexécuter les travaux ayant échoué*.
-
Attendez que le pipeline se termine et vérifiez les résultats.
[!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 à étendre un pipeline dans plusieurs modèles à l’aide d’Azure DevOps. Ce labo a couvert les concepts fondamentaux et les meilleures pratiques pour créer un pipeline multiphase, un modèle de variables, un modèle de travail et un modèle de phase.