tp jenkins

17
Travail Pratique de Jenkins Réalisé par : LEMACHA Jihad SLIMANI Khadija Encadré par : Mr. NAFIL Khalid Master Spécialisé Qualité de Logiciel 2012/2014

Upload: bonnie-wallace

Post on 27-Nov-2015

124 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: TP Jenkins

Travail Pratique de Jenkins

Réalisé par :

LEMACHA Jihad

SLIMANI Khadija

Encadré par :

Mr. NAFIL Khalid

Master Spécialisé Qualité de Logiciel 2012/2014

Page 2: TP Jenkins

Page 2

SOMMAIRE

Partie 1 : téléchargement ................................................................................................................................ 3

Partie 2 : Installation de jenkins ...................................................................................................................... 4

Partie 3 : Installation de plugins ...................................................................................................................... 6

Principe de l’installation de plugins............................................................................................................. 7

Quels plugins installer ?............................................................................................................................... 7

Partie 4 : configuration Jenkins ....................................................................................................................... 9

Configuration du système ........................................................................................................................... 9

Partie 5 : Création d’un projet java ............................................................................................................... 12

Partie 6 : Un job Jenkins pour notre projet ................................................................................................... 12

1. Initialisation du job ............................................................................................................................ 12

2. Accès au système de gestion de versions ......................................................................................... 13

Page 3: TP Jenkins

Partie 1 : téléchargement Avec votre navigateur, allez sur la page d’accueil du produit :

Cliquez sur le lien ’Latest

Une fois le téléchargement

Page 3

Partie 1 : téléchargement Avec votre navigateur, allez sur la page d’accueil du produit : http://Jenkins

Latest and greatest’. Le téléchargement de Jenkins.war démarre.

Une fois le téléchargement est terminé, déposez le war dans C:\jenkins

http://Jenkins-ci.org/

ement de Jenkins.war démarre.

jenkins.

Page 4: TP Jenkins

Partie 2 : Installation de jenkinsDéplacez-vous dans le répertoire d’installation avec l’invite de commande (

lancez la commande: java -jar Jenkins.war

Ce script initialise le processus de construction en continue et démarre le conteneur de servlet.

Le serveur Jenkins est démarré.

Jenkins a créé dans le répertoire de l’utilisateur (USER_HOME) un répe

sera associé par la suite à la variable HOME.Jenkins.

Page 4

de jenkins e répertoire d’installation avec l’invite de commande (

jar Jenkins.war

Ce script initialise le processus de construction en continue et démarre le conteneur de servlet.

Le serveur Jenkins est démarré.

Jenkins a créé dans le répertoire de l’utilisateur (USER_HOME) un répe

sera associé par la suite à la variable HOME.Jenkins.

Test d’installation

e répertoire d’installation avec l’invite de commande (ms-dos) et

Ce script initialise le processus de construction en continue et démarre le conteneur de servlet.

Jenkins a créé dans le répertoire de l’utilisateur (USER_HOME) un répertoire .Jenkins, qui

Page 5: TP Jenkins

Maintenant que nous avons installé Jenkins, et que nous savons y accéder, faisons un

rapide tour de l’interface d’administration, avant de commencer à installer les plugins qui seront

plus tard utilisés pour la mise en Intégration Continue d’un projet

Tout d’abord, si nous pointons notre navigateur vers le port 8080 de notre serveur

d’intégration (dans notre cas, http://localhost:8080

de machine comme http://jenkins:8080

On peut ici noter quelques premiers éléments :

En haut à gauche, le menu principal, à partir duquel nous pourrons administrer Jenkins,

ajouter des utilisateurs, …

Juste en dessous, toujours à gauche,

les projets en attente ou

Enfin, on trouve au milieu de l’écran un lien nous invitant créer un job

aucun.

Page 5

Maintenant que nous avons installé Jenkins, et que nous savons y accéder, faisons un

rapide tour de l’interface d’administration, avant de commencer à installer les plugins qui seront

plus tard utilisés pour la mise en Intégration Continue d’un projet java.

Tout d’abord, si nous pointons notre navigateur vers le port 8080 de notre serveur

http://localhost:8080/ mais rien ne vous empêche d’utiliser un nom

comme http://jenkins:8080/), nous arrivons sur la page d’accueil de Jenkins

On peut ici noter quelques premiers éléments :

En haut à gauche, le menu principal, à partir duquel nous pourrons administrer Jenkins,

ajouter des utilisateurs, …

Juste en dessous, toujours à gauche, la file d’attente de construction, qui, à terme, in

les projets en attente ou en cours de construction,

Enfin, on trouve au milieu de l’écran un lien nous invitant créer un job

Maintenant que nous avons installé Jenkins, et que nous savons y accéder, faisons un

rapide tour de l’interface d’administration, avant de commencer à installer les plugins qui seront

Tout d’abord, si nous pointons notre navigateur vers le port 8080 de notre serveur

rien ne vous empêche d’utiliser un nom

/), nous arrivons sur la page d’accueil de Jenkins :

En haut à gauche, le menu principal, à partir duquel nous pourrons administrer Jenkins,

la file d’attente de construction, qui, à terme, indiquera

Enfin, on trouve au milieu de l’écran un lien nous invitant créer un job puisqu’on n’en a

Page 6: TP Jenkins

Partie 3 : Installation de pluginsUne grande richesse de Jenkins est son système de plugins, ainsi que le grand nombre de plugins

existant.

Pour accéder aux écrans de gestion des

devrait vous mener à http://localhost:8080/pluginManager/.

Ici, vous aurez sous les yeux la liste des plugins installés (quelques plugins sont fournis avec

Jenkins, et, donc, déjà installés, même si ce n’est pas par vous), pour lesquels une mise à jour est

disponible :

L’onglet nommé « Disponibles

moins rangés par catégories —

rapidement peut vous donner une idée des possibilités réelle

Continue telle que Jenkins.

Page 6

Installation de plugins richesse de Jenkins est son système de plugins, ainsi que le grand nombre de plugins

Pour accéder aux écrans de gestion des plugins : Administrer Jenkins Gestion des plugins, qui

http://localhost:8080/pluginManager/.

Ici, vous aurez sous les yeux la liste des plugins installés (quelques plugins sont fournis avec

Jenkins, et, donc, déjà installés, même si ce n’est pas par vous), pour lesquels une mise à jour est

Disponibles » est celui qui donne la liste des plugins disponibles, plus ou

— comme vous pouvez le constater, la liste est longue ; et la parcourir

rapidement peut vous donner une idée des possibilités réelles d’une plate-forme d’Intégration

richesse de Jenkins est son système de plugins, ainsi que le grand nombre de plugins

Gestion des plugins, qui

Ici, vous aurez sous les yeux la liste des plugins installés (quelques plugins sont fournis avec

Jenkins, et, donc, déjà installés, même si ce n’est pas par vous), pour lesquels une mise à jour est

est celui qui donne la liste des plugins disponibles, plus ou

comme vous pouvez le constater, la liste est longue ; et la parcourir

forme d’Intégration

Page 7: TP Jenkins

Principe de l’installation de pluginsGénéralement, l’installation de nouveaux plugins va se faire via le second onglet vu plus

haut : cochez les plugins à installer puis

Mais nous avons tendance à privilégier, pour ce type d’opération, l’interface en ligne de

commandes : ça a l’immense avantage d’être scriptable (autrement dit, une fois que la liste des

plugins est connue et la liste des commandes corr

à chaque installation d’une plate

près les même plugins).

Quels plugins installer ? Considérant la taille de la liste de plugins disponibl

pour n’installer que ceux qui vous sont nécessaires

Catégoriser les plugins n’est pas forcément évident, mais essayons

regrouper en quatre ensembles :

Les plugins qui sont plus

projets : le suivi de sa configuration, la gestion des constructions,

reporting…

Page 7

Principe de l’installation de plugins Généralement, l’installation de nouveaux plugins va se faire via le second onglet vu plus

cochez les plugins à installer puis validez via le bouton en bas de la liste

tendance à privilégier, pour ce type d’opération, l’interface en ligne de

commandes : ça a l’immense avantage d’être scriptable (autrement dit, une fois que la liste des

plugins est connue et la liste des commandes correspondantes saisie, il ne reste plus qu’à la rejouer

à chaque installation d’une plate-forme Jenkins — et celles-ci sont toujours installées avec à peu

Considérant la taille de la liste de plugins disponibles, il va vous falloir effectuer un peu de tri,

eux qui vous sont nécessaires.

Catégoriser les plugins n’est pas forcément évident, mais essayons ; nous dirions qu’on peut les

regrouper en quatre ensembles :

Les plugins qui sont plus en rapport avec la plate-forme Jenkins en elle

projets : le suivi de sa configuration, la gestion des constructions,

Généralement, l’installation de nouveaux plugins va se faire via le second onglet vu plus

en bas de la liste.

tendance à privilégier, pour ce type d’opération, l’interface en ligne de

commandes : ça a l’immense avantage d’être scriptable (autrement dit, une fois que la liste des

espondantes saisie, il ne reste plus qu’à la rejouer

ci sont toujours installées avec à peu

es, il va vous falloir effectuer un peu de tri,

nous dirions qu’on peut les

forme Jenkins en elle-même qu’avec vos

projets : le suivi de sa configuration, la gestion des constructions, l’envoi de mails de

Page 8: TP Jenkins

Page 8

Les plugins qui permettent d’accéder au code-source de votre projet : SVN, Git, CVS, …

Les plugins qui effectuent les analyses sur votre projet : tests unitaires, couverture de code,

respect des normes de codage, …

Et, enfin, les plugins qui permettent de publier les résultats des analyses : tracé de graphes,

mise à disposition de rapports HTML, …

Page 9: TP Jenkins

Page 9

Partie 4 : configuration Jenkins Maintenant que notre plate-forme d’Intégration Continue Jenkins est installée, avec l’ensemble

des plugins dont nous aurons besoin pour nos projets java, il ne nous reste plus qu’à la configurer,

avant de pouvoir passer à la mise en IC d’un projet java.

Configuration du système Deux étapes au minimum :

Informer Jenkins de votre installation de Maven.

Informer Jenkins de votre installation du Jdk.

Survolez et cliquez sur le lien Jenkins > Administrer Jenkins > Configurer le système ; qui vous

permettra de configurer les paramètres généraux de la plate-forme :

Comme vous pouvez le constater, la liste d’options offertes est déjà relativement longue,

puisqu’elle ne tient généralement pas sur un seul écran :

Page 10: TP Jenkins

Cliquez sur [Ajouter JDK ] et sur

remplissez les champs.

Cliquez sur Enregistrer. La partie configuration minimale est terminée.

Page 10

et sur [Ajouter Maven], décochez [Install Automatically

Cliquez sur Enregistrer. La partie configuration minimale est terminée.

décochez [Install Automatically] et

Page 11: TP Jenkins

Page 11

Notez la possibilité d’informer du serveur Subversion ainsi que informations pour notification

mail.

Page 12: TP Jenkins

Partie 5 : Création d’un projet javaNous travaillerons avec un mini

versions, à l’URL suivante : https://subversion.assembla.com/svn/depotjenkins/trunk

Note : ce projet étant en pleine phase de développement, c’est le trunk que nous placerons en

Intégration Continue ; mais il va de soit qu’au fur et à mesure que de nouvelles branches seront

crées, nous ajouterons de nouveaux jobs à notre plate

Partie 6 : Un job Jenkins pour notre projetMaintenant que nous avons un projet

mise en Intégration Continue sous Jenkins.

Après l’authentification, nous

le menu à gauche, et cliquez sur «

1. Initialisation du jobJenkins vous affiche donc l’interface de création du nouveau Job. Il faut donc y renseigner le nom

du Job ainsi que son type. Nous allons choisir «

Page 12

Création d’un projet java ous travaillerons avec un mini-projet java d’exemple, avec SVN comme système de gestion de

https://subversion.assembla.com/svn/depotjenkins/trunk

Note : ce projet étant en pleine phase de développement, c’est le trunk que nous placerons en

Intégration Continue ; mais il va de soit qu’au fur et à mesure que de nouvelles branches seront

crées, nous ajouterons de nouveaux jobs à notre plate-forme d’IC, correspondant à celles

: Un job Jenkins pour notre projet Maintenant que nous avons un projet java, sur son système de gestion de versions, passons à sa

mise en Intégration Continue sous Jenkins.

allons créer un nouveau Job sur Jenkins. Pour faire, rendez

le menu à gauche, et cliquez sur « Nouveau Job ».

Initialisation du job Jenkins vous affiche donc l’interface de création du nouveau Job. Il faut donc y renseigner le nom

ous allons choisir « Construire un projet free

d’exemple, avec SVN comme système de gestion de

https://subversion.assembla.com/svn/depotjenkins/trunk .

Note : ce projet étant en pleine phase de développement, c’est le trunk que nous placerons en

Intégration Continue ; mais il va de soit qu’au fur et à mesure que de nouvelles branches seront

correspondant à celles-ci.

, sur son système de gestion de versions, passons à sa

nouveau Job sur Jenkins. Pour faire, rendez-vous sur

Jenkins vous affiche donc l’interface de création du nouveau Job. Il faut donc y renseigner le nom

Construire un projet free-style » comme type.

Page 13: TP Jenkins

2. Accès au système de gestion de versionsPar la suite, on passe à la configuration du Job.

quelques propriétés des builds

d’anciens builds, désactivation des builds sur le projet et spécifier que le build a des paramètres.

Après, on passe à la configuration de la liaison de Jenkins avec l’outil de versionning

notre projet. Dans notre cas, nous allons connecter notre Job au dépôt créé sur Assembla via SVN.

Page 13

Accès au système de gestion de versions Par la suite, on passe à la configuration du Job. Dans la configuration minimale, on peut contrôler

quelques propriétés des builds tel que l’exécution simultanée de plusieurs builds, suppression

d’anciens builds, désactivation des builds sur le projet et spécifier que le build a des paramètres.

Après, on passe à la configuration de la liaison de Jenkins avec l’outil de versionning

notre projet. Dans notre cas, nous allons connecter notre Job au dépôt créé sur Assembla via SVN.

Dans la configuration minimale, on peut contrôler

tel que l’exécution simultanée de plusieurs builds, suppression

d’anciens builds, désactivation des builds sur le projet et spécifier que le build a des paramètres.

Après, on passe à la configuration de la liaison de Jenkins avec l’outil de versionning qui contient

notre projet. Dans notre cas, nous allons connecter notre Job au dépôt créé sur Assembla via SVN.

Page 14: TP Jenkins

On configure ensuite les actions qui vont déclencher le build automatiquement. On peut donc

spécifier soit un déclenchement suite à d’autres

définit que le build sera fait périodiquement ou bien suite à une scrutation de l’outil de versionning

et on spécifie la période.

Enfin, on peut rajouter une étape au build tél que l’appel de Ant

Puis on spécifie l’action à effectuer après le build. Dans notre cas, nous avons choisi de notifier un

ensemble d’utilisateurs via e-mail lorsque le build est instable.

Page 14

On configure ensuite les actions qui vont déclencher le build automatiquement. On peut donc

spécifier soit un déclenchement suite à d’autres projets, et là on spécifie la liste des projets, soit on

définit que le build sera fait périodiquement ou bien suite à une scrutation de l’outil de versionning

Enfin, on peut rajouter une étape au build tél que l’appel de Ant ou l’exécution d’un script Shell.

Puis on spécifie l’action à effectuer après le build. Dans notre cas, nous avons choisi de notifier un

mail lorsque le build est instable.

On configure ensuite les actions qui vont déclencher le build automatiquement. On peut donc

projets, et là on spécifie la liste des projets, soit on

définit que le build sera fait périodiquement ou bien suite à une scrutation de l’outil de versionning

ou l’exécution d’un script Shell.

Puis on spécifie l’action à effectuer après le build. Dans notre cas, nous avons choisi de notifier un

Page 15: TP Jenkins

On valide la configuration.

Maintenant, il est nécessaire de lancer un premier build pour ramener le projet depuis le dépôt vers

Jenkins. Pour faire, cliquez sur «

Dans notre cas, on a eu 3 builds. Le premier étant fait parce que le dépôt de SVN contient des

changements. Le 2ème est un build automatique qui s’effectue toutes les deux minutes, et le 3

le build manuel que nous avons fait

Si on accède à l’espace de travail de notre Job, nous allons y trouver les projets qui se trouvent

dans le dépôt de SVN.

Page 15

essaire de lancer un premier build pour ramener le projet depuis le dépôt vers

Jenkins. Pour faire, cliquez sur « Lancer un build » au menu à gauche.

Dans notre cas, on a eu 3 builds. Le premier étant fait parce que le dépôt de SVN contient des

est un build automatique qui s’effectue toutes les deux minutes, et le 3

le build manuel que nous avons fait.

Si on accède à l’espace de travail de notre Job, nous allons y trouver les projets qui se trouvent

essaire de lancer un premier build pour ramener le projet depuis le dépôt vers

Dans notre cas, on a eu 3 builds. Le premier étant fait parce que le dépôt de SVN contient des

est un build automatique qui s’effectue toutes les deux minutes, et le 3ème est

Si on accède à l’espace de travail de notre Job, nous allons y trouver les projets qui se trouvent

Page 16: TP Jenkins

Si on clique sur un build dans la l’historique des bluids, nous obtenons des informations

concernant celui-ci, à savoir N° du build et sa date de déroulement, sa version correspondante au

dépôt SVN, les changements qui ont eu lieu ainsi que l’utilisateur J

Pour avoir plus de détails sur le déroulement du build, on peut consulter la console de sortie à

travers le menu à gauche.

La console de notre build indique qu’il s’

construction, version, son dépôt et l’utilisateur qui l’a déclenché.

On peut avoir une vision statistique sur le déroulement des builds en cliquant sur «

dans l’historique des builds. Ainsi, on obtient les builds

déroulement.

Page 16

Si on clique sur un build dans la l’historique des bluids, nous obtenons des informations

ci, à savoir N° du build et sa date de déroulement, sa version correspondante au

qui ont eu lieu ainsi que l’utilisateur Jenkins qui l’a lancé.

Pour avoir plus de détails sur le déroulement du build, on peut consulter la console de sortie à

La console de notre build indique qu’il s’est passé avec succès, ainsi que son répertoire de

version, son dépôt et l’utilisateur qui l’a déclenché.

On peut avoir une vision statistique sur le déroulement des builds en cliquant sur «

dans l’historique des builds. Ainsi, on obtient les builds effectués, leurs durées et les dates de

Si on clique sur un build dans la l’historique des bluids, nous obtenons des informations

ci, à savoir N° du build et sa date de déroulement, sa version correspondante au

enkins qui l’a lancé.

Pour avoir plus de détails sur le déroulement du build, on peut consulter la console de sortie à

est passé avec succès, ainsi que son répertoire de

On peut avoir une vision statistique sur le déroulement des builds en cliquant sur « tendence »

effectués, leurs durées et les dates de

Page 17: TP Jenkins

Page 17