Cómo instalar Jenkins en un contenedor Docker
Hola a todos, hoy aprenderemos cómo instalar Jenkins usando Docker. Jenkins es un premiado aplicación que supervisa la ejecución de trabajos repetidos, como la creación de un proyecto de software o trabajos ejecutados por cron. Construye / prueba proyectos de software de forma continua. En pocas palabras, Jenkins proporciona un sencillo sistema de integración continua, lo que facilita a los desarrolladores la integración de cambios en el proyecto y facilita a los usuarios la obtención de una nueva compilación. La construcción continua y automatizada aumenta la productividad. Ayuda a monitorear las ejecuciones de trabajos ejecutados externamente, como trabajos cron y trabajos procmail, incluso aquellos que se ejecutan en una máquina remota. Jenkins mantiene las salidas y le facilita darse cuenta cuando algo anda mal.
Docker es un proyecto de código abierto que proporciona una plataforma abierta para empaquetar, enviar y ejecutar cualquier aplicación como un contenedor liviano. No tiene límites de compatibilidad con idiomas, marcos o sistema de empaquetado y se puede ejecutar en cualquier lugar y en cualquier momento, desde una pequeña computadora doméstica hasta servidores de alta gama. Los convierte en grandes bloques de construcción para implementar y escalar aplicaciones web, bases de datos y servicios de back-end sin depender de una pila o proveedor en particular.
Estos son los pasos rápidos y fáciles a continuación sobre cómo podemos instalar Jenkins CI en un Contenedor Docker para que nos facilite el entorno Docker.
1. Instalación de Docker
En primer lugar, debemos asegurarnos de tener Docker instalado en nuestro sistema operativo host. Para instalar, necesitaremos ejecutar el siguiente comando en un shell o terminal.
En Ubuntu
La ventana acoplable de paquetes está disponible en el repositorio de Ubuntu, por lo que usaremos apt manager para instalarlo en modo sudo o root.
# apt-get install docker
En CentOS 7
En la máquina CentOS 7, usaremos yum manager para instalar la ventana acoplable, ya que también está disponible en el repositorio de CentOS.
# yum install docker
2. Extracción de la imagen de Jenkins
Después de instalar Docker en nuestra máquina host, ahora avanzaremos hacia la instalación de Jenkins. Ahora extraeremos la imagen de Jenkins del Docker Registry Hub proporcionado por zaiste. Antes de extraer la imagen con el comando pull, necesitaremos proteger nuestro sistema, ya que se ha identificado un problema malicioso con el comando pull. Para proteger nuestro sistema de este problema, necesitaremos agregar 127.0.0.1 index.docker.io en la entrada / etc / hosts. Podemos hacerlo usando nuestro editor de texto favorito.
# nano /etc/hosts
Ahora, agregue las siguientes líneas.
127.0.0.1 index.docker.io
Ahora, una vez que estemos protegidos del problema malicioso, iniciaremos Docker Daemon. Como ejecutamos CentOS 7 en este tutorial, usaremos systemctl para iniciarlo.
# systemctl start docker
ahora vamos a extraer nuestra imagen de Jenkins usando el siguiente comando.
# docker pull registry.hub.docker.com/zaiste/jenkins
Ahora, etiquetaremos el nombre de nuestra imagen con un nombre corto para jenkins-image.
# docker tag registry.hub.docker.com/zaiste/jenkins jenkins-image
3. Ejecución de Jenkins Container
A continuación, ejecutaremos un contenedor de la ventana acoplable con esta imagen y asignaremos el directorio de datos del contenedor al host. Aquí mapeamos / var / lib / jenkins desde el contenedor hasta Jenkins / directorio de la ruta actual en el host. Puerto de Jenkins 8080 también está expuesto al anfitrión como 49001.
# docker run -d -p 49001:8080 -v $PWD/jenkins:/var/lib/jenkins -t jenkins-image
4. Interfaz web
Como hemos ejecutado correctamente Jenkins Container, podemos navegar por la interfaz web de Jenkins utilizando nuestro navegador web apuntando a http: // ip-address: 49001 o http: // localhost: 49001 según la configuración. También hemos agregado otro artículo sobre cómo configurar Jenkin con Nginx con más detalles.
Problema de seguridad
En la configuración predeterminada, Jenkins no realiza ningún control de seguridad, lo que permite que cualquier persona que acceda al sitio pueda configurar Jenkins y trabajos, y realizar compilaciones. Si bien esta configuración es aceptable durante la evaluación inicial del software, Jenkins debe configurarse para autenticar a los usuarios y hacer cumplir el control de acceso en la mayoría de las demás situaciones, especialmente cuando se expone a Internet.
Ahora, buscaremos alguna medida de seguridad, agregaremos nombre de usuario y contraseña. Vamos a ir a Administrar Jenkins> Configurar seguridad global y seleccione el «Habilitar seguridad«casilla de verificación. Para usuario Contraseña autenticación, recomendaría seleccionar «Base de datos de usuarios propia de Jenkins«para el ámbito de la seguridad y luego seleccionaremos»Los usuarios registrados pueden hacer cualquier cosa «. Ahora, para agregar un nuevo nombre de usuario y contraseña, vaya a Administrar Jenkins> Administrar usuarios> Crear usuario. Luego, agregaremos detalles para nuestros nuevos usuarios.
Conclusión
Hemos instalado correctamente Jenkins con Docker. Jenkins es una herramienta increíble para monitorear compilaciones de automatización. Se puede utilizar para la producción de proyectos de gran escala a proyectos pequeños, ya que ayuda a aumentar la productividad. Y Docker agrega esta herramienta como una gran plataforma para una fácil implementación y uso. Si tiene alguna pregunta, sugerencia o comentario, escríbalo en el cuadro de comentarios a continuación para que podamos mejorar y actualizar nuestro contenido. ¡Gracias! Disfrutar 🙂