- EPSI B3 2016/2017 - David Gayerie Licence Creative Commons

Jenkins est un serveur d'intégration continue. Il permet d'automatiser un certain nombre d'opérations (compilation, packaging, tests) afin de les réaliser aussi souvent que nécessaire. Une équipe de développement peut ainsi créer un pipeline automatisé de développement lui permettant de vérifier la qualité de ce qui est produit au fur et à mesure des développements.

Installation de Jenkins

Jenkins est une application Web Java EE. Il peut donc être installé comme un simple fichier war.

Exercice : Installation dans un conteneur

Objectif
Installer un serveur d'intégration complet dans un conteneur LXC

Vous devez récupérer les scripts permettant d'installer Jenkins depuis le projet GitHub.

Vous trouvez dans ces fichiers un playbook ansible complet pour l'installation de Tomcat / Jenkins / Git / JDK / Maven pour le groupe ci-server

Les fichiers contiennent également trois scripts :

01_create_ubuntu.sh
crée un conteneur ubuntu yakkety pour une architecture 64 bits
02_run_playbook.sh
exécute le playbook complet permettant d'installer Jenkins qui sera disponible sur http://[@ip du conteneur]:8080
03_get_jenkins_admin_password.sh
permet de récupérer mot de passe administrateur d'installation. La première fois que vous allez vous connecter à Jenkins, vous aurez besoin de fournir un mot de passe présent sur la machine hôte.

Exercice : Création d'un premier projet dans Jenkins

Objectif
Comprendre le fonctionnement d'un serveur d'intégration continue

Créez un nouveau projet (cliquez sur Nouveau Item dans le menu en haut à gauche). Choisissez le type Construire un projet free-style. Puis créez un projet dont le code source est géré par un dépôt Git distant.

Pour cette exercice vous pouvez par exemple vous servir du projet Maven dbunit-annotations.

Il faut ensuite configurer le projet Jenkins pour invoquer les cibles Maven clean verify

Exercice : création des indicateurs

Objectif
Personnaliser un projet Jenkins en ajoutant des indicateurs