Docker, como sabemos, es una plataforma abierta para desarrolladores y administradores de sistemas para crear, enviar y ejecutar aplicaciones distribuidas, ya sea en computadoras portátiles, máquinas virtuales de centros de datos o en la nube.
Hoy vamos a comprobar cómo configurar Jenkins para crear imágenes de Docker basadas en un archivo Docker. A continuación se muestran los pasos para usar Docker dentro de una canalización de CI/CD, utilizando Imágenes como un artefacto de construcción que se puede promocionar a diferentes entornos y, finalmente, en producción.
Paso # 1 : Inicie Jenkins
Actualmente tengo a Jenkins ejecutándose en un contenedor Docker,si lo hace, el comando docker ps
le mostrará el estado del contenedor.
Inicie el panel de Jenkins
Paso # 2: Configure los complementos y comience a compilar imágenes de Docker.
Nuestro primer paso es configurar el complemento Docker. Siempre que una compilación de Jenkins requiera Docker, creará un «Agente en la nube» a través del complemento. El agente será un contenedor de Docker configurado para hablar con nuestro Demonio de Docker.El trabajo de compilación de Jenkins utilizará este contenedor para ejecutar la compilación y crear la imagen antes de detenerse. La imagen de Docker se almacenará en el demonio de Docker configurado. La imagen se puede enviar a un registro de Docker listo para su implementación.
- Una vez que esté dentro del panel de Jenkins, seleccione Administrar Jenkins a la izquierda.
- En la página de configuración, seleccione Administrar complementos.
- La página Administrar complementos le dará una interfaz con pestañas. Haga clic en Disponible para ver todos los complementos de Jenkins que se pueden instalar.
- Usando el cuadro de búsqueda, busque el complemento Docker. Hay varios complementos de Docker, seleccione complemento de Docker usando la casilla de verificación.
- En esta página, instale el complemento Git para obtener el código fuente de un repositorio Git.
- Haga clic en Instalar sin reiniciar en la parte inferior.
- Los complementos ahora se descargarán e instalarán. Una vez completado, haga clic en el enlace Volver a la página superior.
Una vez instalados los complementos GIT de Docker &, ahora podemos seguir adelante y configurar cómo inician los contenedores de Docker.
Productos de Amazon.en
- -17%
- Dominar ventana acoplable –
- Precio: INR 828.00
- Fue: INR 999.00
- -17%
- Entrega continua con Docker y Jenkins
- Precio: INR 829.00
- Fue: INR 999.00
- Docker y Kubernetes para desarrolladores Java
- Precio: INR 828.00
- ventana acoplable en Windows
- Precio: INR 828.00
- ventana acoplable: en funcionamiento: gastos de Envío Confiable de los Contenedores en la Producción
- Precio: Fuera de stock
- Docker: Guía de Inicio rápido para Principiantes
- Precio: Consultar en Amazon
- Docker Deep Dive
- Precio: Consultar en Amazon
- Docker: 5 Libros en 1-Guía para principiantes + Consejos & Trucos + Simples & Estrategias eficaces + Mejores prácticas & Estrategias avanzadas
- Precio: Consultar en Amazon
- Tutorial de Git de Ry
- Precio: Compruebe en Amazon
» «
La configuración sería utilizada por el complemento en qué imagen de Docker usar el agente y en qué demonio de Docker ejecutar los contenedores y las compilaciones.El complemento trata a Docker como un proveedor de nube, girando contenedores cuando la compilación los requiere.
Paso # 3: Configurar el agente de Docker
- En el panel de Jenkins, seleccione Administrar Jenkins.
- Seleccione Configurar sistema para acceder a la configuración principal de Jenkins.
- En la parte inferior, hay un menú desplegable llamado Agregar una nueva nube. Seleccione Docker de la lista.
- Ahora puede configurar las opciones del contenedor. Establezca el nombre del agente en docker-agent.
- La» URL acoplable » es donde Jenkins inicia el contenedor del agente. En este caso, usaremos el mismo demonio que ejecuta Jenkins, pero en el escenario del mundo real debe ser una instancia separada para que pueda escalar.
- Use la conexión de prueba para verificar que Jenkins pueda hablar con el Demonio Acoplable. Debería ver el número de versión de Docker devuelto.
Ahora el complemento puede comunicarse con Docker,el siguiente paso sería configurar cómo iniciar la imagen de Docker para el agente.
- Con el menú desplegable Imágenes, seleccione Agregar plantilla acoplable.
- Para la imagen de Docker, utilice una de ejemplo que tenga el cliente de Docker benhall / dind-jenkins-agent. Esta imagen está configurada con un cliente de Docker y está disponible en https://hub.docker.com/r/benhall/dind-jenkins-agent/
- Para habilitar compilaciones para especificar Docker como agente de compilación, establezca una etiqueta de agente de docker.
- Jenkins utiliza SSH para comunicarse con los agentes. Añade un nuevo conjunto de «Credenciales». El nombre de usuario es jenkins y la contraseña es jenkins.
- Finalmente, expanda la sección Configuración del contenedor haciendo clic en el botón. En el cuadro de texto» Volúmenes», ingrese /var/run/docker.sock: / var/run / docker.calcetín
- Haga clic en Guardar.
Paso # 4: Probar la configuración
Para probar la configuración crear nuevo trabajo a
- En el panel de Jenkins, seleccione Crear nuevos trabajos de tipo proyecto estilo libre & crear nuevo trabajo ex.Demo de Jenkins.
- La compilación dependerá de tener acceso a Docker. Usando la opción «Restringir dónde se puede ejecutar este proyecto» podemos definir la etiqueta que configuramos de nuestro agente de Docker configurado. El conjunto «Expresión de etiqueta» a docker-agent. Debe tener una configuración de «Label is serviced by no nodes and 1 cloud».
- Seleccione el tipo de repositorio como Git y establezca el Repositorio.Estoy usando mi ubicación de GIT https://github.com/karthi4india/jenkins/.
- Ahora podemos agregar un nuevo paso de compilación usando el menú desplegable. Seleccione Ejecutar Shell.
- Dockerfile se encarga de la compilación, Jenkins solo necesita llamar a compilación y especificar un nombre descriptivo.
Paso de compilación :
ls
docker info
docker build -t jenkins-demo:${BUILD_NUMBER} .
docker tag jenkins-demo:${BUILD_NUMBER} jenkins-demo:latest
docker images
El primer comando enumera todos los archivos del directorio que se construirán. Al llamar a docker build, usamos el número de compilación de Jenkins como etiqueta de imagen. Esto nos permite versionar nuestras imágenes de Docker. También etiquetamos la compilación con lo último.
Archivo acoplable:
FROM scratch
EXPOSE 80
COPY http-server /
CMD
En el lado izquierdo, seleccione Construir ahora. Debería ver una compilación programada con un mensaje » (pendiente-En espera del siguiente ejecutor disponible)».
Jenkins está lanzando el contenedor y se conecta a través de SSH. A veces esto puede tomar un momento o dos.
Usted puede ver el progreso de usar
docker logs --tail=10 jenkins
una Vez que la construcción se ha completado, usted debe ver la Imagen y Etiquetas mediante la ventana acoplable CLI
docker images
Como este post? No olvides compartirlo!