TP Jenkins
-
Upload
bonnie-wallace -
Category
Documents
-
view
124 -
download
11
Transcript of 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
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
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.
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
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
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
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
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
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 :
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
Notez la possibilité d’informer du serveur Subversion ainsi que informations pour notification
mail.
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.
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.
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
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
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