Commit 0aee6281 authored by Rémi Cailletaud's avatar Rémi Cailletaud

exo4

parent 5e87add5
......@@ -9,7 +9,6 @@ job_test :
script :
- echo "Hello world"
- more /etc/issue
- /bin/running-in-container
- date
job_manual :
......
......@@ -11,8 +11,7 @@ Le code source est fourni. Nous allons travailler sur deux (tout) petits codes :
## 1. Mon premier script ##
Mon premier fichier .gitlab-ci.yml. Il s'agit d'un fichier au format YAML décrit une ensemble d'étapes ([stages](https://docs.gitlab.com/ee/ci/yaml/#stage)) qui peuvent comporter plusieurs [jobs](https://docs.gitlab.com/ee/ci/yaml/#jobs).
Mon premier fichier .gitlab-ci.yml. Il s'agit d'un fichier au format YAML décrit une ensemble d'étapes ([stages](https://docs.gitlab.com/ee/ci/yaml/#stage)) qui peuvent comporter plusieurs [jobs](https://docs.gitlab.com/ee/ci/yaml/#jobs).
Chaque job contient un [script](https://docs.gitlab.com/ee/ci/yaml/#script), exécuté par le Runner.
**But** : Afficher "Hello world", /etc/issue et l'heure. Aller dans l'interface de Gitlab (CI/CD) et constater le résultat. On peut voir le nom du Runner qui a exécuté le job.
......@@ -22,12 +21,11 @@ Chaque job contient un [script](https://docs.gitlab.com/ee/ci/yaml/#script), ex
## 2. changement d'image docker ##
Les jobs sont exécutés dans les conteneur docker. Vous pouvez choisir le conteneur à utiliser avec le mot-clés [image](https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#define-image-and-services-from-gitlab-ci-yml).o
Les jobs sont exécutés dans les conteneur docker. Vous pouvez choisir le conteneur à utiliser avec le mot-clés [image](https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#define-image-and-services-from-gitlab-ci-yml).
**But** : Utiliser l'image Ubuntu à la place de celle par défaut (Alpine). Constater la différence.
*Note 1* : Par défaut on utilise DockerHub, le repository Docker n'étant (encore) pas activé sur notre instance Gitlab.
*Note 1* : Par défaut on utilise DockerHub, le repository Docker n'étant (encore) pas activé sur notre instance Gitlab.
*Note 2* : On peut choisir une image différente par job.
## 3. explication pipeline avec des true et false et ajout d'allow_failure ##
......@@ -36,12 +34,20 @@ On définit les Pipelines en déclatant plusieurs [stages](https://docs.gitlab.c
Plusieurs jobs de la même étape pourront être exécuté en même temps si les ressources le permettent. Par contre, l'exécution d'une étape dépend du bon déroulement de la précédente, à moins d'en autoriser explicitement l'échec avec [allow_failure](https://docs.gitlab.com/ee/ci/yaml/#allow_failure).
**But** : Définir 3 stages test1, test2 et test3. Les étapes 1 et 3 comporteront chacune un job, et l'étape deux en compertera deux, dont un qui échoue.
**But** : Définir 3 étapes test1, test2 et test3. Les étapes 1 et 3 comporteront chacune un job, et l'étape deux en compertera deux, dont un qui échoue.
Observer le comportement dans l'interface, puis ajouter autoriser l'échec pour le job qui échoue.
*Note* : Avec allow_failure, le pipeline passe, mais vous voyez quand même un warning...
## 4. when (manual, failure, always, success (default)) ##
Le mot-clé [when](https://docs.gitlab.com/ee/ci/yaml/#when) permet de définir quand le job est exécuté : en cas de succès(défaut), d'échec, quoi qu'il arrive, ou manuellement.
**But** : Ajouter un job manuel au pipeline. Aller sur l'interface pour l'exécuter.
*Note* : contrairement aux autres jobs, les jobs manuels sont autorisés à échouer par défaut (pour ne pas bloquer le pipeline). On peut changer ce comportement, mais il faudra alors une intervention humaine pour débloquer le pipeline...
## 5. \[skip ci\] \[ci skip\] ##
##6. Interface : les schedules (nightly build).##
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment