gitlab-ci.md 2.1 KB

Mettre en place l'intégration continue dans un projet Gitlab

1- Ajouter un fichier .gitlab-ci.yml au projet

La version la plus simple possible pour python, qui executera les tests unitaires 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 est un outil de tests pour python)

Plus d'infos sur la réation du .gitlab-ci.yml

2- Installer un Runner

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

3- Enregistrer le runner

On utilise ensuite 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 (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 executées, et les tests seront considérés comme réussis si chaque ligne retourne un code exit 0.

4- Utiliser Docker

L'idéal est d'utiliser Docker pour importer une image Docker. Le fichier .gitlab-ci.yml ressemblera alors à:

# Official framework image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python
image: python:3.6
#image: python:latest

before_script:
  - python -V    # Affiche la version de python
  - pip install cov-core  # Installe les librairies nécessaires
  - pip install nose2
  - pip install coveralls

# This folder is cached between builds
cache:   
  paths:   
  - ~/.cache/pip/

test:
  script:
  - nose2