GitLab Configurations des demandes d’extraction

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • GitLab Les exécutions de pipelines de demandes d’extraction (fusion), qui passent par une accélération des changements avant de passer en production, peuvent être suivies dans Vélocité de changement DevOps. Cette intégration collecte également les métadonnées des GitLab demandes de fusion à conserver dans .Vélocité de changement DevOps Les données sont liées au changement créé lors de l’exécution du pipeline de demande de fusion et peuvent être utilisées pour appliquer des politiques, examiner et approuver des changements.

    • La création, la mise à jour, la fermeture, la réouverture et la fusion de demandes d’extraction sont prises en charge.
    • L’exécution du pipeline de demande d’extraction pour l’accélération des changements dans les pipelines est prise en GitLab charge. Les détails de la demande d’extraction peuvent être utilisés dans la politique d’approbation de changement.
    • L’état du pipeline est mis à jour automatiquement avec l’état de la demande d’extraction GitLab après la création du changement. Le pipeline est mis en pause et repris automatiquement.
    • Les ID d’e-mail sont définis par défaut au format <user_name>@noreply.gitlab.com.
    • Les commentaires sont pris en charge dans le cadre de la prise en charge des demandes de fusion. Les demandes de création et de mise à jour vers extraction sont prises en charge, tandis que la suppression et la modification ne le sont pas.
    • Un maximum de 100 validations sera affiché dans Vélocité de changement DevOps. Si vous devez en accéder à plus de 100, vous devez référencer votre GitLab instance. Seul le dernier commentaire est renseigné.

    Paramètres pour activer les demandes d’extraction (fusion) pour l’approbation du changement

    Propriété DevOpspermettant de suivre les demandes d’extraction (fusion) GitLab. Si cette option n’est pas activée, les demandes d’extraction (fusion) et les événements associés sont ignorés Active le suivi des demandes d’extraction (fusion) à partir de GitLab .Vélocité de changement DevOps
    Remarque :
    La propriété est activée par défaut. Si vous ne souhaitez pas que les demandes de fusion (pull) soient suivies, vous devez les désactiver.

    Lorsque cette option est activée, les modifications apportées à la demande d’extraction (fusion) seront reflétées dans Vélocité de changement DevOps. Lorsqu’elle est désactivée, Vélocité de changement DevOps ignore les événements de demande de tirage.

    Pour la liaison entre les demandes d’extraction et les pipelines d’orchestration et pour activer le suivi de l’approbation des changements, les éléments suivants sont requis :
    • Utilisez GitLab Docker pour le suivi des changements. Pour en savoir plus, consultez la rubrique Implémenter des actions personnalisées pour les pipelines utilisant une image de conteneur Docker générique.
    • À partir de votre GitLab projet,
      1. Accédez à la
        • Pour GitLab le cloud : Paramètres > Demandes de fusion.
        • Pour les locaux (13.x) : Paramètres > Général > Demandes de fusion.
      2. Cochez la case Les pipelines doivent réussir .

        Avec cette sélection, vous pouvez procéder à la demande de fusion uniquement si le changement est approuvé. En d’autres termes, lorsque la case est cochée, les demandes d’extraction sont bloquées jusqu’à ce que le changement soit approuvé.

        Paramètres pour les options de fusion.

      3. Sélectionnez Enregistrer les modifications.
    • Accédez à votre projet et ouvrez le fichier .yml .
      Au fichier .yml , ajoutez la règle suivante au niveau du pipeline ou à des niveaux de tâche spécifiques.
      rules:
       - if: $CI_PIPELINE_SOURCE == 'merge_request event'
       - if: $CI_PIPELINE_SOURCE != 'merge_request_event'

      Exemple au niveau du pipeline :

      workflow:
        rules:
        - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
        - if: $CI_PIPELINE_SOURCE != 'merge_request_event' 
      

      Exemple pour le niveau de poste :

      changeapproval:
         stage: changeapproval
         script:
           - sndevopscli create change -p '{"changeStepDetails":{"timeout":3600,"interval":100},"attributes":{"short_description":"Automated Software Deployment","description":"Automated Software Deployment.","assignment_group":"a715cd759f2002002920bde8132e7018","implementation_plan":"Software update is tested and results can be found in Test Summaries Tab.","backout_plan":"When software fails in production, the previous software release will be re-deployed.","test_plan":"Testing if the software was successfully deployed or not"}}'
         rules:
         - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
         - if: $CI_PIPELINE_SOURCE != 'merge_request_event'