Back to Gitlabhq

Approbations de déploiement

doc-locale/fr-fr/ci/environments/deployment_approvals.md

19.3.07.4 KB
Original Source

{{< details >}}

  • Édition : GitLab Premium, GitLab Ultimate
  • Offre : GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Vous pouvez exiger des approbations supplémentaires pour les déploiements dans des environnements protégés. Les déploiements sont bloqués jusqu'à ce que toutes les approbations requises soient accordées.

Utilisez les approbations de déploiement pour répondre aux processus de test, de sécurité ou de conformité. Par exemple, vous pouvez souhaiter exiger des approbations pour les déploiements dans des environnements de production.

Configurer les approbations de déploiement {#configure-deployment-approvals}

Vous pouvez exiger des approbations pour les déploiements dans des environnements protégés dans un projet.

Prérequis :

  • Pour mettre à jour un environnement, vous devez disposer du rôle Maintainer ou Owner.

Pour configurer les approbations de déploiement pour un projet :

  1. Créez un job de déploiement dans le fichier .gitlab-ci.yml de votre projet :

    yaml
    stages:
      - deploy
    
    production:
      stage: deploy
      script:
        - 'echo "Deploying to ${CI_ENVIRONMENT_NAME}"'
      environment:
        name: ${CI_JOB_NAME}
        action: start
    

    Le job n'a pas besoin d'être manuel (when: manual).

  2. Ajoutez les règles d'approbation requises.

Les environnements de votre projet nécessitent une approbation avant le déploiement.

Ajouter plusieurs règles d'approbation {#add-multiple-approval-rules}

{{< history >}}

{{< /history >}}

Ajoutez plusieurs règles d'approbation pour contrôler qui peut approuver et exécuter des jobs de déploiement.

Pour ajouter plusieurs règles d'approbation, vous devez disposer du rôle Developer pour le projet. Pour ajouter un groupe en tant qu'approbateur, vous devez inviter le groupe dans le projet. Seuls les groupes invités apparaissent dans la liste des approbateurs.

Pour configurer plusieurs règles d'approbation, utilisez les paramètres CI/CD. Vous pouvez également utiliser l'API.

Tous les jobs déployant dans l'environnement sont bloqués et attendent les approbations avant de s'exécuter. Assurez-vous que le nombre d'approbations requises est inférieur au nombre d'utilisateurs autorisés à déployer.

Un utilisateur ne peut donner qu'une seule approbation par déploiement, même s'il est membre de plusieurs groupes d'approbateurs. L'issue 457541 propose de modifier ce comportement afin que le même utilisateur puisse donner plusieurs approbations par déploiement depuis différents groupes d'approbateurs.

Une fois qu'un job de déploiement est approuvé, vous devez exécuter le job manuellement.

Autoriser l'auto-approbation {#allow-self-approval}

{{< history >}}

{{< /history >}}

Par défaut, l'utilisateur qui déclenche un pipeline de déploiement ne peut pas également approuver le job de déploiement.

Un administrateur GitLab peut approuver ou rejeter tous les déploiements.

Pour autoriser l'auto-approbation d'un job de déploiement :

  1. Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
  2. Dans la barre latérale gauche, sélectionnez Paramètres > CI/CD.
  3. Développez Environnements protégés.
  4. Dans les Options d'approbation, cochez la case Allow pipeline triggerer to approve deployment.

Approuver ou rejeter un déploiement {#approve-or-reject-a-deployment}

Dans un environnement avec plusieurs règles d'approbation, vous pouvez :

  • Approuver un déploiement pour lui permettre de continuer.
  • Rejeter un déploiement pour l'empêcher.

Prérequis :

  • Vous avez la permission de déployer dans l'environnement protégé.

Pour approuver ou rejeter un déploiement :

  1. Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
  2. Dans la barre latérale gauche, sélectionnez Opération > Environnements.
  3. Sélectionnez le nom de l'environnement.
  4. Trouvez le déploiement et sélectionnez son Status badge.
  5. Facultatif. Ajoutez un commentaire décrivant la raison pour laquelle vous approuvez ou rejetez le déploiement.
  6. Sélectionnez Approuver ou Rejeter.

Vous pouvez également utiliser l'API.

Vous ne pouvez donner qu'une seule approbation par déploiement, même si vous êtes membre de plusieurs groupes d'approbateurs. L'issue 457541 propose de modifier ce comportement afin que le même utilisateur puisse donner plusieurs approbations par déploiement depuis différents groupes d'approbateurs.

L'approbation de déploiement ne démarre pas automatiquement le job de déploiement correspondant. Vous devez exécuter le job manuellement.

Afficher les détails d'approbation d'un déploiement {#view-the-approval-details-of-a-deployment}

Prérequis :

  • Vous avez la permission de déployer dans l'environnement protégé.

Un d��ploiement dans un environnement protégé ne peut se poursuivre qu'après l'octroi de toutes les approbations requises.

Pour afficher les détails d'approbation d'un déploiement :

  1. Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
  2. Dans la barre latérale gauche, sélectionnez Opération > Environnements.
  3. Sélectionnez le nom de l'environnement.
  4. Trouvez le déploiement et sélectionnez son Status badge.

Les détails du statut d'approbation sont affichés :

  • Approbateurs éligibles
  • Nombre d'approbations accordées et nombre d'approbations requises
  • Utilisateurs ayant accordé leur approbation
  • Historique des approbations ou des rejets

Afficher les déploiements bloqués {#view-blocked-deployments}

Examinez le statut de vos déploiements, notamment si un déploiement est bloqué.

Pour afficher vos déploiements :

  1. Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
  2. Dans la barre latérale gauche, sélectionnez Opération > Environnements.
  3. Sélectionnez l'environnement cible du déploiement.

Un déploiement portant le label blocked est bloqué.

Pour obtenir le statut d'approbation d'un déploiement, vous pouvez également utiliser l'API. Le champ status indique si un déploiement est bloqué.