Skip to content

Latest commit

 

History

History
72 lines (55 loc) · 1.67 KB

13.Multi-Projet.md

File metadata and controls

72 lines (55 loc) · 1.67 KB

Multi-Project Pipeline

Objectif :

  • À partir d'un projet, déclencher le pipeline d'un autre projet.
  • Transmettre une variable d'un gitlab-ci à un autre.

Doc : https://docs.gitlab.com/ee/ci/pipelines/multi_project_pipelines.html


Pipelines Multiprojets

  • Un pipeline peut déclencher des pipelines en aval dans un autre projet.
  • Les pipelines multiprojets affectent le statut global du projet en aval.

Création du projet pipe1 (Trigger)

  • Utilisation du mot-clé trigger dans le fichier .gitlab-ci.yml.
stages:
  - s1
  - s2

j1:
  stage: s1
  image: docker
  script:
    - echo "Mon premier job !!!"
  tags:
    - docker

j2:
  variables:
    VAR1: "variable1"
    VAR2: "variable2"
  stage: s2
  trigger:
    project: becode/pipe2
    branch: main
    strategy: depend

Ici, on utilise strategy:depend pour forcer la tâche à attendre la fin du pipeline en aval avant d'être marquée comme réussie . Ce comportement est différent du comportement par défaut, selon lequel le trigger est marqué comme réussi dès que le pipeline en aval est créé.


Création du projet pipe2 (Slave)

image: debian:latest
job1:
    rules:
        - if: $CI_PIPELINE_SOURCE == "pipeline"
    script:
        - echo $VAR1
        - echo $VAR2
    tags:
        - docker


Il est important de noter que bien que les pipelines multi-projets soient puissants, ils peuvent aussi ajouter de la complexité au processus de CI/CD. Il faut vraiment les utilser en fonction des besoins spécifiques de votre organisation et de votre architecture de projet.