Utiliser des portes et des approbations pour contrôler votre déploiement

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

En utilisant une combinaison d’approbations de déploiement manuelles, de portes et d’intervention manuelle dans votre pipeline de mise en production, vous pouvez configurer rapidement et facilement votre déploiement pour répondre à toutes les exigences de prédéploiement spécifiques de votre workflow.

Dans ce tutoriel, vous allez découvrir :

  • Portes pré-déploiement
  • Intervention manuelle
  • Validation manuelle
  • Journaux de déploiement

Prérequis

Configurer des portes

Vous pouvez utiliser des portes pour que votre pipeline de mise en production réponde à des critères spécifiques avant le déploiement, sans intervention de l’utilisateur.

  1. Sélectionnez Pipelines>Mises en production, puis sélectionnez votre pipeline de mise en production. Sélectionnez Modifier pour ouvrir l’éditeur de pipeline.

    Capture d’écran montrant le bouton Modifier pour les pipelines de mise en production.

  2. Sélectionnez l’icône de prédéploiement pour votre phase, puis sélectionnez le bouton bascule pour activer Portes.

    Capture d’écran montrant comment activer les portes.

  3. Spécifiez le délai avant évaluation des portes ajoutées. Ce délai permet aux fonctions de porte de s’initialiser et de se stabiliser avant de renvoyer des résultats.

    Capture d’écran montrant comment définir le délai des portes de prédéploiement.

  4. Sélectionnez Ajouter, puis Interroger les éléments de travail.

    Capture d’écran montrant comment ajouter une tâche Interroger les éléments de travail.

  5. Sélectionnez une requête d’élément de travail existante dans le menu déroulant. En fonction du nombre d’éléments de travail que vous attendez de la requête, définissez vos seuils maximal et minimal.

    Capture d’écran montrant comment configurer la tâche Interroger les éléments de travail.

  6. Sélectionnez la section Options d’évaluation, puis spécifiez le délai d’expiration et l’intervalle d’échantillonnage. Les valeurs minimales que vous pouvez spécifier sont 6 minutes pour le délai d’expiration et 5 minutes pour l’intervalle d’échantillonnage.

    Capture d’écran montrant comment configurer les options d’évaluation de la tâche Interroger les éléments de travail.

  7. Lorsque vous avez terminé, sélectionnez Enregistrer.

    Capture d’écran montrant comment enregistrer un pipeline de mise en production.

Configurer une intervention manuelle

En fonction du scénario, vous devrez parfois ajouter une intervention manuelle à votre pipeline de mise en production. Pour ce faire, ajoutez la tâche Intervention manuelle à votre pipeline.

  1. Sélectionnez Pipelines>Mises en production. Sélectionnez votre pipeline de mise en production, puis sélectionnez Tâches et choisissez votre phase.

    Capture d’écran montrant comment accéder aux tâches intermédiaires dans un pipeline de mise en production.

  2. Sélectionnez les points de suspension (...), puis Ajouter un travail sans agent.

    Capture d’écran montrant comment ajouter un travail sans agent.

  3. Faites glisser et déposez le travail sans agent en haut de votre processus de déploiement. Sélectionnez le signe (+), puis Ajouter la tâche d’intervention manuelle.

    Capture d’écran montrant comment ajouter la tâche d’intervention manuelle.

  4. Entrez un Nom d’affichage et les instructions qui doivent s’afficher quand la tâche est déclenchée. Vous pouvez également spécifier une liste d’utilisateurs à notifier et une action d’expiration de délai d’attente (rejeter ou reprendre) si aucune intervention n’a lieu pendant le délai d’attente.

    Capture d’écran montrant comment configurer la tâche Intervention manuelle.

  5. Lorsque vous avez terminé, sélectionnez Enregistrer.

Notes

La tâche Intervention manuelle peut seulement être utilisée dans un travail sans agent.

Configurer une validation manuelle

Vous pouvez utiliser la tâche Validation manuelle dans votre pipeline YAML pour le mettre en pause et attendre une approbation manuelle. La validation manuelle est particulièrement utile dans les cas où vous souhaitez valider des paramètres de configuration ou des packages de build avant de commencer un travail gourmand en calculs.

Le travail waitForValidation met en pause l’exécution et déclenche une invite d’interface utilisateur pour passer en revue et valider la tâche. Les adresses e-mail listées dans notifyUsers reçoivent une notification d’approbation ou de refus de l’exécution du pipeline.

Capture d’écran montrant l’invite de validation manuelle.

pool: 
   vmImage: ubuntu-latest

jobs:
- job: waitForValidation
  displayName: Wait for external validation  
  pool: server    
  timeoutInMinutes: 4320 # job times out in 3 days
  steps:   
   - task: ManualValidation@0
     timeoutInMinutes: 1440 # task times out in 1 day
     inputs:
         notifyUsers: |
            someone@example.com
         instructions: 'Please validate the build configuration and resume'
         onTimeout: 'resume'

Voir les journaux de déploiement

Les journaux de déploiement sont utiles pour déboguer les problèmes de déploiement, mais vous pouvez également les utiliser pour auditer vos exécutions de pipeline et pour vérifier les approbations (notamment comment elles sont accordées et par qui).

  1. Sélectionnez Pipelines>Mises en production, puis sélectionnez votre pipeline de mise en production.

    Capture d’écran montrant une liste de définitions de mise en production.

  2. Cette vue affiche un état en direct de chaque phase de votre pipeline. La phase AQ dans cet exemple est en attente d’intervention. Sélectionnez Reprendre.

    Capture d’écran montrant l’intervention en attente dans la phase AQ.

  3. Entrez votre commentaire, puis sélectionnez Reprendre.

    Capture d’écran montrant comment répondre à une demande d’intervention manuelle en attente.

  4. Le déploiement de la phase AQ a réussi et les approbations de prédéploiement sont déclenchées pour la phase Production.

    Capture d’écran montrant l’approbation de prédéploiement déclenchée pour la phase suivante.

  5. Sélectionnez Approuver, entrez votre commentaire, puis sélectionnez Approuver pour continuer le déploiement.

    Capture d’écran montrant comment répondre à une demande d’approbation en attente.

  6. L’état en direct indique que les portes sont en cours de traitement pour la phase Production avant de continuer la mise en production.

    Capture d’écran montrant les portes de traitement de production.

  7. Revenez à votre pipeline de mise en production, pointez sur votre phase, puis sélectionnez Journaux pour voir les journaux de déploiement.

    Capture d’écran montrant comment accéder aux journaux de déploiement.