USECASE-3 (Intégration GIT, Maven, Jenkins, Docker, Tomcat)
Veuillez regarder usecase-2 avant de venir ici
Ce que vous apprendrez dans ce cas d'utilisation :
En tant qu'employés informatiques, nous travaillons dans de nombreux domaines (codage, support, infrastructure), mais lors de l'intégration d'un nouveau service, nous ne savons vraiment pas exactement comment le code sera déployé en production. Il existe de nombreuses possibilités pour intégrer nos exigences à la production. Ce cas d'utilisation expliquera l'une des façons de déployer notre code en production.
Cette vidéo, j'ai expliqué comment résoudre les problèmes également. Une fois cet enregistrement terminé, j'avais enregistré une autre vidéo sans dépannage. Mais je pense que les gens doivent aussi apprendre à corriger les erreurs. J'ai donc préféré télécharger cette vidéo. Keep Fail et en savoir plus
Pas
- étape 1 : Installez Jenkins, Maven, GIT et Tomcat (veuillez regarder usecase-2)
- étape 2 : Installer Docker
- étape 3 : Ajouter des informations Docker dans jenkins
- étape 4 : Échangez les clés ssh entre le serveur jenkins et le serveur Docker
- étape 5 : Créer le travail Jenkins
- étape 6 : Accéder à l'application Web
Veuillez regarder les vidéos précédentes (Comment installer Jenkins, Maven et Tomcat) et suivre les fichiers joints au document dans le même référentiel
Une fois Jenkins, maven et tomcat prêts
étape 2 : Installer Docker
Installez docker sur l'instance EC2 et démarrez les services
yum install docker
service docker start
Veuillez suivre attentivement les instructions ci-dessous
useradd dockeradmin
passwd dockeradmin
usermod -aG docker dockeradmin
visudo
dockeradmin ALL=(ALL) NOPASSWD: ALL (add dockeradmin user after root)
vi /etc/ssh/sshd_config ( disable --> PasswordAuthentication no & enable PasswordAuthentication yes )
service sshd restart
mkdir /opt/docker
chown -R dockeradmin:dockeradmin /opt/docker/
vi Dockerfile
From tomcat:9-jre9
# Maintainer
MAINTAINER "cloudnloud"
# copy war file on to container
COPY ./webapp.war /usr/local/tomcat/webapps
Connectez-vous à la console Jenkins et ajoutez le serveur Docker pour exécuter les commandes de Jenkins
Gérer Jenkins → Configurer le système → Publier sur SSH → ajouter le serveur Docker et les informations d'identification Cliquez sur ajouter Serveur SSH : dockerhost Nom d'hôte : IP du serveur (IP publique) Nom d'utilisateur : dockeradmin Cliquez sur advange activer le mot de passe mot de passe : donner le mot de passe dockeradmin
étape 4 : échange de clés entre le serveur jenkins et le serveur Docker
connectez-vous à jenkins en tant qu'utilisateur dockeradmin
ssh-keygen
ls -a cd .ssh/ ssh-copy-id IPADDREE (deuxième adresse IP du serveur)
(pour établir un lien entre le serveur docker et le serveur jenkins (dans les serveurs jeninkins, vous installez les deux junekins, tomcat, git)
étape 5 : créer le travail jenkins
Créer un travail Jenkins
créer un travail → projet maven →
A) Référentiel de gestion du code source :https://github.com/veejee2331/webapplicationBranches à construire : */main
B) Construire le POM racine : pom.xml Objectifs et options : package d'installation propre
C) Étapes de publication → Ajouter une étape de post-construction → sélectionner
envoyer des fichiers ou exécuter des commandes via SSH
Nom : docker_host Fichiers source : webapp/target/*.warSupprimer le préfixe : webapp/targetRépertoire distant ://opt//docker
Commande[s] d'exécution :
docker stop cloundnloud_demo;
docker rm -f cloundnloud_demo;
docker image rm -f cloundnloud_demo;
cd /opt/docker;
docker build -t cloundnloud_demo .
envoyer des fichiers ou exécuter des commandes via SSH
Nom : docker_host Exec commande :
docker run -d --name cloundnloud_demo -p 8090:8080 cloundnloud_demo
F) Exécuter le travail Jenkins
G) vérifiez à nouveau les images et les conteneurs sur l'hôte Docker. Cette fois, une image et un conteneur sont créés via le travail Jenkins
étape 6 : Accéder à l'application Web
Accéder à l'application Web à partir du navigateur qui s'exécute sur le conteneur
http://<docker_host_Public_IP>:8090/uri
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































