+
+# Listes de commandes à exécuter dans le conteneur
+# avant le lancement des différents jobs
+before_script:
+ - echo ${MY_VAR}
+
+# Déclaration des phases du pipeline
+stages:
+ - test
+ - dist
+
+# Déclaration d'un job
+unit-tests:
+ stage: test # Ce job est attaché à la phase "test"
+ script: # Commandes à exécuter dans le conteneur
+ - ./script/test
+
+# Déclaration d'un autre job
+dist:
+ stage: dist # Ce job est attaché à la phase "dist"
+ only: # Ce job ne doit s'exécuter que lorsque la branche est "master"
+ refs:
+ - master
+ script:
+ - ./script/dist
+ artifacts: # Artefacts à conserver à l'issue de la phase
+ paths:
+ - dist/*.tar.gz
+```
+
+---
+
+## Exécuter un pipeline en local
+
+
+gitlab-runner exec docker [job]
+
+
+> La fonctionnalité est dépréciée depuis la version 10.0. Voir la discussion https://gitlab.com/gitlab-org/gitlab-runner/issues/2797 pour le futur remplacement.
+
+---
+
## Exercice: Mise en application générale
+Sélectionner une application existante (ou laissez le formateur vous proposer un sujet) et:
+
+1. Mettre en place l'exécution des tests unitaires sur le projet et écrire une première suite de tests.
+2. Mettre en place les tests d'intégration sur le projet et écrire une première suite de tests.
+3. Mettre en place les tests fonctionnels et écrire une première suite de tests.
+4. Concevoir un "pipeline" d'intégration continue avec Gitlab et Gitlab Runner et tester une activation complète du pipeline.
+
---
# Licence