|
|
# Gitlab CI/CD
|
|
|
|
|
|
Gitlab Continuious Integration / Deployment or Delivery permet d'automatiser et gérer votre application.
|
|
|
|
|
|
## L'idée
|
|
|
|
|
|
Derrière ces noms barbares se cache un ensemble de pratique dans le développement logiciel.
|
|
|
En plus de gérer votre code (gestion de versions) GitLab permet d'automatiser la compilation, les tests, la validation... C'est l'intégration continu.
|
|
|
L'automatisation des builds et packages fait partie du Delivery et la mise en production automatique du Deployment.
|
|
|
Tous ceci lors d'une mise à jour du code sur la plateforme GitLab.
|
|
|
|
|
|
## Comment on fait ?
|
|
|
|
|
|
Le CI/CD peut demander un peu de temps pour la prise en main mais par la suite cela vous fera gagner énormement de temps.
|
|
|
|
|
|
Pour utiliser le CI/CD dans Gitlab cela doit être activer dans le setting de votre projet.
|
|
|
Après il suffit de créer un fichier .gitlab-ci qui contient toutes les instructions nécessaires à la racine de votre projet. [plus d'info ici](https://gitlab.paca.inra.fr/help/ci/yaml/README.md)
|
|
|
|
|
|
Les instructions de ce fichier seront éxecutées sur des machines préconfigurées, ces machines sont des __runners__ (Voir ci dessous pour la liste des runners disponibles).
|
|
|
Les noms et tags peuvent être utilisé dans le fichier de CI.
|
|
|
|
|
|
Pour gérer vos binaires vous pouvez regarder du coté des instructions de _artifacts_ et pour le déploiement du coté de _environment_.
|
|
|
|
|
|
## Runners disponibles
|
|
|
|
|
|
Les runners peuvent être affecté à un projet ou partager.
|
|
|
Voici une parties des runners disponibles ( la listes est disponible dans Settings -> CI/CD de votre projet) :
|
|
|
|
|
|
| Noms | tags | infos | MAJ |
|
|
|
| :---: | :---: | :---: | :---: |
|
|
|
| debian:latest | debian, latest | Linux Debian i64 bits dernière version stable | Tous les jours |
|
|
|
| debian32 | debian, 32 | Linux Debian version stable avec les libraries 32 bits | à la demande |
|
|
|
| debian64 | debian, 64 | Linux Debian version stable avec les libraries 64 bits | à la demande |
|
|
|
| win10 | win10, msys, jags | Windows 10 avec msys2, jags et librairies standard | à la demande |
|
|
|
| MacOSHS | Mac, R | Mac OS High Sierra avec R (stable) et libraries pour compilations des packages R | aux mises à jour de R |
|
|
|
| r-devel-biosp | r-devel-biosp | Linux Debian 64 bits avec la version devel de R | tous les jours |
|
|
|
| r-base-biosp | r-base-biosp | Linux Debian 64 bits avec la version stable de R | tous les jours |
|
|
|
| win10-R-binaries | R, binaries, win10 | Windows 10 avec la version stable de R | aux mise à jour de R |
|
|
|
|
|
|
Un runner peut être créer suivant les besoins de votre projets. Prendre contact avec les admins.
|
|
|
|
|
|
|
|
|
|