Vous êtes sur la page 1sur 40

Plan

 A quoi cela sert-il ?


 Principes
 Fonctionnement
 Etude du serveur d’intégration continue Jenkins
 Historique
 Hudson
 Jenkins
 Paramétrage
 Paramétrage ssh
 Paramétrage GIT
 Credentials
 Créer un projet
 Lire le reporting
 Ajouter checkstyle
 Installation
 « L'intégration continue est un ensemble de
pratiques utilisées en génie logiciel consistant à vérifier
à chaque modification de code source que le résultat
des modifications ne produit pas de régression dans
l'application développée. » Wikipédia
A quoi cela sert-il ?
 A intégrer de façon continue les modifications apporté
au logiciel
 A effectuer systématiquement :
 La compilation
 Les tests
 Du reporting (vérification du code)
 Le déploiement
Pourquoi ?
 Pour améliorer la qualité du code et de l’application
 Pour détecter au plus tôt
 Les problèmes de compilation
 Les régressions
 La vérification de la qualités
Prérequis
 Un dépôt pour le code (ex : GIT)
 Des tests
 Une automatisation
 de la construction
 De l’exécution des tests
 De la vérification du code
 Par exemple avec ant, Maven ou Gradle
 Des conventions de codage
 Nommage, mise en forme, …
 Utiliser les conventions standards !!
…
Principe en images
push

checkout
deploy
Principe
 Un dépôt pour le code (ex : GIT)
 Les développeurs font des commits/push
 Le serveur IC se déclenche
 par détection des modifications
 ou à intervalles réguliers
 ou manuellement
 Le serveur IC effectue
 La construction
 les tests
 le reporting
 le deploiement
 peut envoyer des mails
 Quelqu’un (les développeurs, le chef de projet, …) vérifie le reporting
Technologies existantes
 Jenkins (ex Hudson)
 Apache Continuum
 Team Foundation Server (microsoft)
 Tinderbox (Mozilla)
Historique
 Hudson
 2008
 Développé principalement par Kohsuke Kawaguchi
(Sun)
 Oracle rachète Sun et veut faire payer pour Hudson
 Jenkins
 2011 Fork de Hudson (après dispute avec Oracle)
Jenkins
 Serveur d’intégration continu
 Permet de construire les distributions de façon continu
 Régulièrement
 Ou après chaque modification du code

 Ecrit en Java
 Licence MIT
 Free software
Installation
 Prérequis
 Installer les soft suivants (facultatif, mais préférable)
 Maven
 gradle
 Git
 Télécharger
 jenkins.war
 Exécuter
 java -jar jenkins.war
 Ouvrir la page localhost:8080
Page d’acceuil
Ajouter des plugins
 Administrer Jenkins -> Gestion des plugins
 Pour git:
 choisir ‘git plugin’
Configurer
 Installer le plugin pour git
 Voir
 http://niteshgoyal1302.wordpress.com/2014/04/02/conti
nuous-integration-with-jenkins-a-beginners-guide/
 et
 http://www.vogella.com/tutorials/Jenkins/article.html
Paramétrage
 Administrer Jenkins -> Configurer le système
 Spécifier les programmes utilisé par Jenkins:
 JDK, Gradle, Maven, GIT
Sécuriser Jenkins
 Vous pouvez limiter l’accès à Jenkins aux utilisateurs enregistrés
 Administrer Jenkins -> Configurer la sécurité globale
 Attention !
 Exécution de script = possibilité de hacker la machine !
Créer un job
 Administrer Jenkins -> Nouveau Item
Paramétrer un job
Paramétrer un job
Choisir un type de dépôt
Dépôt git
 Acces par ssh ou https
 ssh: ssh://git@github.com/user/depotname.git
 https: https://github.com/user/depotname.git
 Choisir les credentials adéquat
 voir après
Planification des builds
Ajouter des étapes
Spécifier le build
 Si Maven
 Spécifier où est le pom.xml
Informer des résultats
Credentials
 Choisir le type
SSH Username
 Enter Directly private key est plus simple à mettre en
oeuvre
Vue d’ensemble de tous les projets
 Tendance des projets
Détails d’un projet
Détails d’un build
Logs d’un build
Résultats des tests
Webographie
 Jenkins
 http://jenkins-ci.org/
 http://en.wikipedia.org/wiki/Jenkins_%28software%29
 Tutoriel (fr)
 http://linsolas.developpez.com/articles/hudson/
 Tutoriel (en)
 http://niteshgoyal1302.wordpress.com/2014/04/02/conti
nuous-integration-with-jenkins-a-beginners-guide/
 http://www.vogella.com/tutorials/Jenkins/article.html
 Définitions
 http://fr.wikipedia.org/wiki/Int%C3%A9gration_contin
ue
Atelier
 atelier jenkins.pdf

Vous aimerez peut-être aussi