Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu

download Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu

If you can't read please download the document

description

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)

Transcript of Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntu

  • 1. Continuous Integration TutorialMade by Hamouda Ahmed

2. Contents 1. Introduction2. Git (Ubunto 12.04 LTS)3. Tomcat64. Jenkins 4.2 Ajout du plugin Git4.3 Cration d'un nouveau job4.4 Ajout du plugin Deploy 4.1 Installation depuis le War4.4 Configuration du Job GameOfLife pour dploiementFAQ25.12.13Your name here (insert->page number)2 3. 1. Introduction: Plateforme de travail Ubunto + Gestionnaire de bureau XFCE425.12.13Your name here (insert->page number)3 4. 1. Introduction: Plateforme de travail Ubunto + Gestionnaire de bureau XFCE425.12.13Your 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-life25.12.13Your name here (insert->page number)5 6. 1. Introduction: Plateforme de travail CentOS install sur une machine virtuelle Qemu25.12.13Your 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'accs comme suit: Hostfwd: forward tcp port 2222 from host to port 22 on guestOu bien : -redir tcp:2222::2225.12.13Your name here (insert->page number)7 8. 1. Introduction: Plateforme de travail J'ai cre un script partir de la commande du slide prcdent:25.12.13Your name here (insert->page number)8 9. 1. Introduction: Plateforme de travail25.12.13Your name here (insert->page number)9 10. 1. Introduction: Plateforme de travail25.12.13Your name here (insert->page number)10 11. 1. Introduction: Plateforme de travail25.12.13Your name here (insert->page number)11 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 commentaire25.12.13Your name here (insert->page number)12 13. 2. Git25.12.13Your name here (insert->page number)13 14. 2. Git25.12.13Your name here (insert->page number)14 15. 2. Git25.12.13Your name here (insert->page number)15 16. 2. Git Si vous prfrrer l'interface graphique, vous pouvez install gitk sur ubuntu:25.12.13Your name here (insert->page number)16 17. 2. Git25.12.13Your name here (insert->page number)17 18. 2. Git25.12.13Your name here (insert->page number)18 19. 2. Git25.12.13Your name here (insert->page number)19 20. 2. Git25.12.13Your name here (insert->page number)20 21. 2. Tomcat6 1. Vrifier si tomcat est dj install ou non, gnralement aprs une installation CentOS il est dj install2. Si non install, en mode root faite l'installation avec yum25.12.13Your name here (insert->page number)21 22. 2. Tomcat6 3.Vrifier l'accs la page Web de Tomcat (Initialement a ne marche que pour localhost)25.12.13Your name here (insert->page number)22 23. 2. Tomcat6 4.Activer la rsolution des noms d'htes en activant l'option resolve hosts (optionnel)5.Maintenant on peut y accder traver l'@Ip de la machine25.12.13Your name here (insert->page number)23 24. 2. Tomcat6 6.Activer l'accs pour l'interface d'administration de tomcat6, en ajoutant un utilisateur avec le rle manager25.12.13Your name here (insert->page number)24 25. 2. Tomcat6 7.Accder page d'administration de tomcat6: http://localhost:8080/manager25.12.13Your name here (insert->page number)25 26. 2. Tomcat6 7.Maintenant on peut administrer tomcat625.12.13Your name here (insert->page number)26 27. 3. Tomcat625.12.13Your name here (insert->page number)27 28. 4.Jenkins25.12.13Your name here (insert->page number)28 29. 4.1 Installation depuis le War 1. Tlcharger la dernire version du war sur : http://jenkins-ci.org25.12.13Your name here (insert->page number)29 30. 4.1 Installation depuis le War 2. Dployer le .war depuis Tomcat Manager:25.12.13Your name here (insert->page number)30 31. 4.1 Installation depuis le War 3. Configurer le rpertoire de Jenkins dans /etc/tomcat6/tomcat.conf25.12.13Your name here (insert->page number)31 32. 4.1 Installation depuis le War 4. Configurer le rpertoire de Jenkins dans /etc/tomcat6/context.xml25.12.13Your name here (insert->page number)32 33. 4.1 Installation depuis le War 5. Vrifier que tomcat a les droits ncessaires sur le dossier JENKINS_HOME cad /usr/jenkins25.12.13Your name here (insert->page number)33 34. 4.1 Installation depuis le War 5.bis: Sinon excuter la commande suivante :25.12.13Your name here (insert->page number)34 35. 4.1 Installation depuis le War 6. Jenkins est maintenant prt l'utilisation:25.12.13Your name here (insert->page number)35 36. 4.1 Installation depuis le War 6. Jenkins est maintenant prt l'utilisation:25.12.13Your name here (insert->page number)36 37. 4.1 Installation depuis le War25.12.13Your name here (insert->page number)37 38. 4.2 Installation du Git Plugin25.12.13Your name here (insert->page number)38 39. 4.2 Installation du Git Plugin25.12.13Your name here (insert->page number)39 40. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)40 41. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)41 42. 4.3 Cration d'nouveau Job Afin d'accder au repo git sur la machine hte, on doit configurer la machine guest (CentOS) excutant Tomcat, afin qu'elle puisse se connecter automatiquement sur ssh la machine hte. Puisque tomcat est l'utilisateur de Tomcat6, on doit configurer le jeu de cl pour cette utilisateur. Pour ce faire, on procde comme suit: 1. Cration du dossier .ssh sous le rpertoire home (/usr/share/tomcat6) de l'utilisateur tomcat Tout en lui donnant les privilige de lecture/criture:25.12.13Your name here (insert->page number)42 43. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)43 44. 4.3 Cration d'nouveau Job 2. Se connecter en tant que l'utilisateur tomcat, crer le jeu de cl et les copier vers la machine hte qui hberge le serveur git :25.12.13Your name here (insert->page number)44 45. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)45 46. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)46 47. 4.3 Cration d'nouveau Job Pour compiler le projet on a besoin du jdk-devel, on doit l'installer:25.12.13Your name here (insert->page number)47 48. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)48 49. 4.3 Cration d'nouveau Job Configurer le projet pour compiler le projet pour jdk adquat:25.12.13Your name here (insert->page number)49 50. 4.3 Cration d'nouveau Job Configurer le projet pour compiler le projet pour jdk adquat:25.12.13Your name here (insert->page number)50 51. 4.3 Cration d'nouveau Job Configurer le projet pour utiliser maven (l'installation se fera automtiquement pendant le premier build):25.12.13Your name here (insert->page number)51 52. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)52 53. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)53 54. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)54 55. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)55 56. 4.3 Cration d'nouveau Job Jenkins ne peut trouver le rpertoire .m2, il gnre ainsi une erreur:25.12.13Your name here (insert->page number)56 57. 4.3 Cration d'nouveau Job Pour remdier cette erreur il suffit de crer le dossier .m2 et donner les privilges ncessaire l'utilisateur tomcat puisqu'il est le conteneur de l'appilication Jenkins qui s'xcute sous ses Droits d'accs25.12.13Your name here (insert->page number)57 58. 4.3 Cration d'nouveau Job Une autre erreur de mme type pour le dossier .jenkins:25.12.13Your name here (insert->page number)58 59. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)59 60. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)60 61. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)61 62. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)62 63. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)63 64. 4.3 Cration d'nouveau Job25.12.13Your name here (insert->page number)64 65. 4.4 Ajout du plugin de dploiement25.12.13Your name here (insert->page number)65 66. 4.4 Ajout du plugin de dploiement25.12.13Your name here (insert->page number)66 67. 4.4 Ajout du plugin de dploiement25.12.13Your name here (insert->page number)67 68. 4.4 Ajout du plugin de dploiement25.12.13Your name here (insert->page number)68 69. 4.4 Ajout du plugin de dploiement25.12.13Your name here (insert->page number)69 70. 4.4 Configuration du dploiement automatique25.12.13Your name here (insert->page number)70 71. 4.4 Configuration du dploiement automatique25.12.13Your name here (insert->page number)71 72. 4.4 Configuration du dploiement automatique25.12.13Your name here (insert->page number)72 73. 4.4 Configuration du dploiement automatique25.12.13Your name here (insert->page number)73 74. 4.4 Configuration du dploiement automatique Le jeu a t dploy sur tomcat et est accessible depuis l'interface d'administration des webapps De Tomcat http://localhost:8080/manager/25.12.13Your name here (insert->page number)74 75. 4.4 Configuration du dploiement automatique Maintenant on peut y jouer !25.12.13Your name here (insert->page number)75 76. 4.4 Configuration du dploiement automatique25.12.13Your name here (insert->page number)76 77. 4.4 Configuration du dploiement automatique25.12.13Your name here (insert->page number)77 78. SUCCESS25.12.13Your name here (insert->page number)78 79. FAQ25.12.13Your name here (insert->page number)79 80. FAQ Si vous avez des remarques ou bien des conseils sur les configs n'hsitez pas me contacter sur [email protected] pour que je les prennent en considration et met jour ce tutorial. Merci d'avance :)25.12.13Your name here (insert->page number)80