Pour notre premier pipeline, nous allons simplement créer un fichier et tester son existence.

Pour créer un pipeline dans Gitlab, il faut publier un fichier .gitlab-ci.yml contenant :

  • des stages
  • des jobs relatifs aux stages
  • des artefacts permettant de lier les jobs entre eux
stages:
  - build
  - test

build: 
  stage: build
  script: 
    - echo "Building"
    - mkdir build
    - touch build/info.txt
  artifacts: 
    paths:
      - build/

test: 
  stage: test
  script:
    - echo "Testting"
    - test -f "build/info.txt"

Ici nous avons un stage de build, et un stage de test. les scripts sont simple, et nous ne les détaillerons donc pas.

La partie importante ici est l'Artifact. Dans notre premier job, nous créons un fichier, et dans notre deuxième job, testons son existence. mais chaque jobs est initialement indépendant.

Comme l'indique la doc sur le site de Gitlab :

Job artifacts are a list of files and directories created by a job once it finishes. This feature is enabled by default in all GitLab installations.

En gros, notre définition d'Artifact définit que les fichiers créés dans le premier job dans le répertoire build sont à conserver pour les jobs suivants. En pratique, gitlab conservera dans son repository le contenu du dossier build et il sera ainsi récupérable par les autres jobs. Et la continuité est faite.