GitLab CI/CD: Difference between revisions
Jump to navigation
Jump to search
Zoran.Chanet (talk | contribs) No edit summary |
Zoran.Chanet (talk | contribs) No edit summary |
||
Line 57: | Line 57: | ||
* Activation du pipeline à chaque push sur une branche disposant du fichier <code>.gitlab-ci.yml</code> |
* Activation du pipeline à chaque push sur une branche disposant du fichier <code>.gitlab-ci.yml</code> |
||
* Au lancement, chaque job est réalisé par un runner dans son propre environnement |
* Au lancement, chaque job est réalisé par un runner dans son propre environnement |
||
= Sources = |
|||
[https://gricad-gitlab.univ-grenoble-alpes.fr/help/ci/quick_start/README Getting started with GitLab CI/CD]<br> |
|||
[https://gricad-gitlab.univ-grenoble-alpes.fr/help/ci/enable_or_disable_ci.md How to enable or disable GitLab CI/CD] |
Revision as of 09:48, 7 February 2019
Auteur
Prérequis
- Version Gitlab >= 8.0 ou utiliser GitLab.com
Settings -> General -> Permissions -> Pipelines
(Only team members ou Everyone with access)- Au moins un runner configuré pour le projet (ou shared runner) (voir
Settings -> CI/CD -> Runners
) (Enable shared runners on this project pour avoir accès aux shared runners)
Activation
Définir un fichier .gitlab-ci.yml
valide à la racine du projet
Runners
- Sont des VM isolées
- Peuvent être shared entre les projets
- Idéalement sur une autre machine que le projet GitLab
- Configurés par le fichier
.gitlab-ci.yml
pour définir des étapes (build, test, deploy…) Settings -> CI/CD -> Runners
(pour voir lesquels sont assignés au projet)
Astuces
.gitlab-ci.yml
est dépendant de la version (donc branche)- Format du fichier
.gitlab-ci.yml
:
stages: - <étape> - <étape> - ... before_script: - <commande> - <commande> - … <job1-name>: stage: <étape> script: - <commande> - <commande> - … <job2-name>: stage: <étape> script: - <commande> - <commande> - … …
- /!\ Les espaces doivent rester des espaces (pas des tabulations)
- /!\
script
est un mot-clé obligatoire pour chaque job before_script
est optionnel et exécuté avant chaquescript
- Les balises
stages
etstage
sont optionnelles mais structurent le pipeline CI/CD -> Pipelines -> CI LINT
(bouton) permet de tester la validité du fichier.gitlab-ci.yml
- stuck signifie qu’aucun runner n’est configuré pour prendre en charge le job
- Examples de
.gitlab_ci.yml
: https://gricad-gitlab.univ-grenoble-alpes.fr/help/ci/examples/README.md
Fonctionnement
- Activation du pipeline à chaque push sur une branche disposant du fichier
.gitlab-ci.yml
- Au lancement, chaque job est réalisé par un runner dans son propre environnement
Sources
Getting started with GitLab CI/CD
How to enable or disable GitLab CI/CD