|
|
@@ -0,0 +1,62 @@
|
|
|
+# Mettre en place l'intégration continue dans un projet Gitlab
|
|
|
+
|
|
|
+### 1- Ajouter un fichier `.gitlab-ci.yml` au projet
|
|
|
+
|
|
|
+Pour configurer l'intégratiojn continue sur un projet Gitlab, on commence par ajouter au projet un fichier nommé `.gitlab-ci.yml`.
|
|
|
+
|
|
|
+Dans le cas d'un projet python, voilà la version la plus simple possible, qui executera les tests unitaires avec nose2 et retournera leurs résultats et leur couverture:
|
|
|
+
|
|
|
+ test:
|
|
|
+ script:
|
|
|
+ - nose2
|
|
|
+
|
|
|
+> * `test`: nom du job (il peut y en avoir plusieurs)
|
|
|
+* `script`: seule option requise pour exécuter le job
|
|
|
+* `nose2`: commande à exécuter pour lancer les tests ([nose2](https://github.com/nose-devs/nose2) est un outil de tests pour python)
|
|
|
+
|
|
|
+[**Plus d'infos sur la création du .gitlab-ci.yml**](http://docs.gitlab.com/ce/ci/quick_start/README.html)
|
|
|
+
|
|
|
+### 2- Installer et configurer un Runner spécifique
|
|
|
+
|
|
|
+Il faut ensuite installer un runner sur la machine qui exécutera les tests
|
|
|
+> Un runner peut être partagé (admin requis), ou spécifique à un projet.
|
|
|
+> Il est apparemment déconseillé d'installer le runner sur la machine où tourne Gitlab
|
|
|
+
|
|
|
+[**Plus d'infos sur l'installation de runners**](https://docs.gitlab.com/runner/install/)
|
|
|
+
|
|
|
+#### Sous Windows
|
|
|
+
|
|
|
+Commencer par télécharger une archive de l'exécutable du runner gitlab en [x86](https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-windows-386.exe) ou [x64](https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-windows-amd64.exe).
|
|
|
+
|
|
|
+Créer un répertoire et y dézipper le fichier téléchargé.
|
|
|
+> **ATTENTION**: c'est dans ce répertoire que seront exécutés les jobs de gitlab!
|
|
|
+
|
|
|
+On lance ensuite dans ce dossier une invite de commande, et on lance la commande `register` du runner pour le brancher au serveur gitlab.
|
|
|
+Les infos requises pour l'enregistrement se trouvent dans le menu `settings` du projet gitlab (`CI Pipelines` > `Runners`)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+La méthode la plus simple consiste à lui donner l'executeur `shell`.
|
|
|
+Les commandes listées dans le fichier .gitlab-ci.yml seront alors exécutées à chaque build, et les jobs seront considérés comme réussis si chaque ligne exécutée retourne un code `exit 0`.
|
|
|
+
|
|
|
+Au premier lancement du runner, il faut aussi l'installer et le démarrer:
|
|
|
+
|
|
|
+ gitlab-ci-multi-runner install --user <username> --password <pwd>
|
|
|
+ gitlab-ci-multi-runner start
|
|
|
+
|
|
|
+> **ATTENTION**: Sous windows, le compte d'utilisateur utilisé pour installer le runner doit avoir les droits d'ouvrir une session en tant que service! Voir `Panneau de configuration` > `Outil d'administration` > `Stratégie de sécurité locale` > `Stratégies Locales` > `Attribution eds droits utilisateurs` > `Ouvrir une session en tant que service`, et ajouter le compte utilisateur en question.
|
|
|
+
|
|
|
+Une fois cela fait, le runner devrait apparaitre dans le menu `Settings` > `CI/CD Pipelines` de votre projet Gitlab.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+### 3- Exploiter l'intégration continue
|
|
|
+
|
|
|
+Vous pouvez maintenant:
|
|
|
+
|
|
|
+- Consulter les résultats des builds dans `Pipelines` > `Jobs`
|
|
|
+
|
|
|
+- Ajouter les balises au readme du projet (urls dans `Settings` > `CI/CD Pipelines`)
|
|
|
+
|
|
|
+
|
|
|
+- Compléter votre fichier .gitlab-ci.yml avcec d'autres instructions et jobs
|