USECASE-3 (Integración GIT, Maven, Jenkins, Docker, Tomcat)
Mire usecase-2 antes de venir aquí
Lo que aprenderá en este caso de uso:
Como empleados de TI, trabajamos en muchas áreas (codificación, soporte, infraestructura), pero al incorporar cualquier servicio nuevo, realmente no sabemos cómo se implementará exactamente el código en producción. Hay muchas posibilidades en las que podemos incorporar nuestros requisitos a la producción. Este caso de uso explicará una de las formas de implementar nuestro código para producir.
En este video también he explicado cómo solucionar los problemas. Después de que se completó esta grabación, grabé otro video sin solución de problemas. Pero siento que la gente también necesita aprender a corregir los errores. Así que preferí subir este video. Sigue fallando y aprende más
Pasos
- paso 1: Instale Jenkins, Maven, GIT y Tomcat (mire usecase-2)
- paso 2: Instalar Docker
- paso 3: agregar información de Docker en jenkins
- paso 4: intercambiar claves ssh entre el servidor jenkins y el servidor Docker
- paso 5: crea el trabajo de jenkins
- paso 6: Acceder a la aplicación web
Mire los videos anteriores (Cómo instalar Jenkins, Maven y Tomcat) y siga los archivos adjuntos del documento en el mismo repositorio
Una vez que Jenkins, maven y tomcat estén listos
paso 2: Instalar Docker
Instale Docker en la instancia EC2 e inicie los servicios
yum install docker
service docker start
Por favor, siga las instrucciones a continuación cuidadosamente
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
Inicie sesión en la consola de Jenkins y agregue el servidor Docker para ejecutar comandos desde Jenkins
Administre Jenkins → Configure el sistema → Publicar sobre SSH → agregue el servidor Docker y las credenciales Haga clic en agregar Servidor SSH: dockerhost Nombre de host: ip del servidor (ip pública) Nombre de usuario: dockeradmin Haga clic en advange habilitar contraseña contraseña: dar dockeradminpassword
paso 4: Intercambiar claves entre el servidor jenkins y el servidor Docker
inicie sesión en jenkins como usuario dockeradmin
ssh-keygen
ls -a cd .ssh/ ssh-copy-id IPADDREE (dirección IP del segundo servidor)
(para vincular entre el servidor docker y el servidor jenkins (en los servidores jeninkins, instala junekins, tomcat, git)
paso 5: crea el trabajo de jenkins
Crear trabajo de Jenkins
crear trabajo → proyecto maven →
A) Repositorio de gestión de código fuente:https://github.com/veejee2331/webapplicationRamas para construir: */main
B) Build Root POM: pom.xml Objetivos y opciones: paquete de instalación limpia
C) Pasos de publicación → Agregar paso de creación de publicación → seleccionar
enviar archivos o ejecutar comandos a través de SSH
Nombre: docker_host Archivos de origen: webapp/target/*.warEliminar prefijo: webapp/targetDirectorio remoto://opt//docker
Comando[s] ejecutivo[s]:
docker stop cloundnloud_demo;
docker rm -f cloundnloud_demo;
docker image rm -f cloundnloud_demo;
cd /opt/docker;
docker build -t cloundnloud_demo .
enviar archivos o ejecutar comandos a través de SSH
Nombre: docker_host Comando ejecutivo:
docker run -d --name cloundnloud_demo -p 8090:8080 cloundnloud_demo
F) Ejecutar el trabajo de Jenkins
G) verifique las imágenes y los contenedores nuevamente en el host de Docker. Esta vez, una imagen y un contenedor se crean a través del trabajo de Jenkins.
paso 6: Acceder a la aplicación web
Acceda a la aplicación web desde el navegador que se ejecuta en el contenedor
http://<docker_host_Public_IP>:8090/uri

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































