Comment préparer un environnement de développement (ici sur ubunu) avec intégration continue (Jenkins sur CentOS 6, déployé sur Tomcat) et déploiement automtaique sur Tomcat (CentOS)
2. Contents
●
1. Introduction
●
2. Git (Ubunto 12.04 LTS)
●
3. Tomcat6
●
4. Jenkins
–
–
4.2 Ajout du plugin Git
–
4.3 Création d'un nouveau job
–
4.4 Ajout du plugin Deploy
–
●
4.1 Installation depuis le War
4.4 Configuration du Job GameOfLife pour déploiement
FAQ
25.12.13
Your name here (insert->page number)
2
3. 1. Introduction: Plateforme de travail
Ubunto + Gestionnaire de bureau XFCE4
25.12.13
Your name here (insert->page number)
3
4. 1. Introduction: Plateforme de travail
Ubunto + Gestionnaire de bureau XFCE4
25.12.13
Your name here (insert->page number)
4
5. 1. Introduction: Plateforme de travail
Le projet game-of-life qu'on va utiliser tout au long de ce tutoriel disponible à partir de ce lien:
https://github.com/wakaleo/game-of-life
25.12.13
Your name here (insert->page number)
5
6. 1. Introduction: Plateforme de travail
CentOS installé sur une machine virtuelle Qemu
25.12.13
Your name here (insert->page number)
6
7. 1. Introduction: Plateforme de travail
Pour que la VM CentOS soit disponible en ssh pour jenkins plus tard il faut configurer l'accès
comme suit:
Hostfwd: forward tcp port 2222 from host to port 22 on guest
Ou bien : -redir tcp:2222::22
25.12.13
Your name here (insert->page number)
7
8. 1. Introduction: Plateforme de travail
J'ai crée un script à partir de la commande du slide précédent:
25.12.13
Your name here (insert->page number)
8
12. 2. Git
Initialisation du repos : git init chemin_du_repo
Ajout des fichiers du repos : git add chemin_du_repo/*
Pour que le repo soit disponible pour tout les utilisateurs de git, il faut faire un commit:
git commit -m “commentaire”
25.12.13
Your name here (insert->page number)
12
21. 2. Tomcat6
1. Vérifier si tomcat est déjà installé ou non,
généralement après une installation CentOS il est déjà installé
2. Si non installé, en mode root faite l'installation avec yum
25.12.13
Your name here (insert->page number)
21
22. 2. Tomcat6
3.Vérifier l'accès à la page Web de Tomcat (Initialement ça ne marche que pour localhost)
25.12.13
Your name here (insert->page number)
22
23. 2. Tomcat6
4.Activer la résolution des noms d'hôtes en activant l'option resolve hosts (optionnel)
5.Maintenant on peut y accéder à traver l'@Ip de la machine
25.12.13
Your name here (insert->page number)
23
24. 2. Tomcat6
6.Activer l'accès pour l'interface d'administration de tomcat6,
en ajoutant un utilisateur avec le rôle manager
25.12.13
Your name here (insert->page number)
24
25. 2. Tomcat6
7.Accèder à page d'administration de tomcat6: http://localhost:8080/manager
25.12.13
Your name here (insert->page number)
25
29. 4.1 Installation depuis le War
1. Télécharger la dernière version du war sur : http://jenkins-ci.org
25.12.13
Your name here (insert->page number)
29
30. 4.1 Installation depuis le War
2. Déployer le .war depuis Tomcat Manager:
25.12.13
Your name here (insert->page number)
30
31. 4.1 Installation depuis le War
3. Configurer le répertoire de Jenkins dans /etc/tomcat6/tomcat.conf
25.12.13
Your name here (insert->page number)
31
32. 4.1 Installation depuis le War
4. Configurer le répertoire de Jenkins dans /etc/tomcat6/context.xml
25.12.13
Your name here (insert->page number)
32
33. 4.1 Installation depuis le War
5. Vérifier que tomcat a les droits nécessaires sur le dossier JENKINS_HOME cad /usr/jenkins
25.12.13
Your name here (insert->page number)
33
34. 4.1 Installation depuis le War
5.bis: Sinon exécuter la commande suivante :
25.12.13
Your name here (insert->page number)
34
35. 4.1 Installation depuis le War
6. Jenkins est maintenant prêt à l'utilisation:
25.12.13
Your name here (insert->page number)
35
36. 4.1 Installation depuis le War
6. Jenkins est maintenant prêt à l'utilisation:
25.12.13
Your name here (insert->page number)
36
42. 4.3 Création d'nouveau Job
Afin d'accèder au repo git sur la machine hôte, on doit configurer la machine guest (CentOS)
exécutant Tomcat, afin qu'elle puisse se connecter automatiquement sur ssh à la machine hôte.
Puisque tomcat est l'utilisateur de Tomcat6, on doit configurer le jeu de clé pour cette utilisateur.
Pour ce faire, on procède comme suit:
1. Création du dossier .ssh sous le répertoire home (/usr/share/tomcat6) de l'utilisateur tomcat
Tout en lui donnant les priviliège de lecture/écriture:
25.12.13
Your name here (insert->page number)
42
44. 4.3 Création d'nouveau Job
2. Se connecter en tant que l'utilisateur tomcat, créer le jeu de clé et les copier vers la machine hôte
qui héberge le serveur git :
25.12.13
Your name here (insert->page number)
44
49. 4.3 Création d'nouveau Job
Configurer le projet pour compiler le projet pour jdk adéquat:
25.12.13
Your name here (insert->page number)
49
50. 4.3 Création d'nouveau Job
Configurer le projet pour compiler le projet pour jdk adéquat:
25.12.13
Your name here (insert->page number)
50
51. 4.3 Création d'nouveau Job
Configurer le projet pour utiliser maven (l'installation se fera automtiquement pendant le premier build):
25.12.13
Your name here (insert->page number)
51
56. 4.3 Création d'nouveau Job
Jenkins ne peut trouver le répertoire .m2, il génère ainsi une erreur:
25.12.13
Your name here (insert->page number)
56
57. 4.3 Création d'nouveau Job
Pour remédier à cette erreur il suffit de créer le dossier .m2 et donner les privilèges nécessaire
À l'utilisateur tomcat puisqu'il est le conteneur de l'appilication Jenkins qui s'éxécute sous ses
Droits d'accès
25.12.13
Your name here (insert->page number)
57
58. 4.3 Création d'nouveau Job
Une autre erreur de même type pour le dossier .jenkins:
25.12.13
Your name here (insert->page number)
58
65. 4.4 Ajout du plugin de déploiement
25.12.13
Your name here (insert->page number)
65
66. 4.4 Ajout du plugin de déploiement
25.12.13
Your name here (insert->page number)
66
67. 4.4 Ajout du plugin de déploiement
25.12.13
Your name here (insert->page number)
67
68. 4.4 Ajout du plugin de déploiement
25.12.13
Your name here (insert->page number)
68
69. 4.4 Ajout du plugin de déploiement
25.12.13
Your name here (insert->page number)
69
70. 4.4 Configuration du déploiement automatique
25.12.13
Your name here (insert->page number)
70
71. 4.4 Configuration du déploiement automatique
25.12.13
Your name here (insert->page number)
71
72. 4.4 Configuration du déploiement automatique
25.12.13
Your name here (insert->page number)
72
73. 4.4 Configuration du déploiement automatique
25.12.13
Your name here (insert->page number)
73
74. 4.4 Configuration du déploiement automatique
Le jeu a été déployé sur tomcat et est accessible depuis l'interface d'administration des webapps
De Tomcat http://localhost:8080/manager/
25.12.13
Your name here (insert->page number)
74
75. 4.4 Configuration du déploiement automatique
Maintenant on peut y jouer !
25.12.13
Your name here (insert->page number)
75
76. 4.4 Configuration du déploiement automatique
25.12.13
Your name here (insert->page number)
76
77. 4.4 Configuration du déploiement automatique
25.12.13
Your name here (insert->page number)
77
80. FAQ
Si vous avez des remarques ou bien des conseils sur les configs n'hésitez pas à me
contacter sur dimmumeister@gmail.com pour que je les prennent en considération
et met à jour ce tutorial. Merci d'avance :)
25.12.13
Your name here (insert->page number)
80
Notas do Editor
Ceci est un tutorial pas à pas de l'installation et la configuration d'une plateforme permettant l'intégration continue automatique d'un projet MAVEN3 et son déploiement.