Que es Jenkins? Jenkins es una herramienta de automatización de código abierto y gratuita que se puede utilizar para automatizar tareas técnicas repetitivas con la ayuda de la integración continua y la entrega continua.
En este tutorial, explicaremos cómo instalar Jenkins con Docker en Ubuntu 18.04 servidor. También explicaremos cómo ejecutar Jenkins con Docker para mantener la persistencia de las configuraciones y los datos de Jenkins.
Requisitos
- Un servidor que ejecuta Ubuntu 18.04 con un mínimo de 2 GB de RAM.
- Una contraseña de root está configurada en su servidor.
Empezando
Comencemos a actualizar el repositorio de su servidor con la última versión. Puedes actualizarlo con el siguiente comando:
apt-get update -yapt-get upgrade -y
Una vez que se haya actualizado el repositorio, reinicie su servidor para aplicar todos estos cambios.
Instalar Docker
A continuación, deberá instalar Docker en su servidor.
Primero, descargue y agregue la clave Docker CE GPG con el siguiente comando:
wget https: // descargar.estibador.com / linux / ubuntu / gpgapt-key agregar gpg
A continuación, agregue el repositorio de Docker CE a APT con el siguiente comando:
nano / etc / apt / sources.lista.d / docker.listaAgregue la siguiente línea:
deb [arch = amd64] https: // descargar.estibador.com / linux / ubuntu xenial estableGuarde y cierre el archivo cuando haya terminado. Luego, actualice el repositorio con el siguiente comando:
apt-get update -yUna vez que se actualice el repositorio, instale Docker CE con el siguiente comando:
apt-get install docker-ce -yDespués de instalar Docker CE, verifique la instalación de Docker con el siguiente comando:
ventana acoplable de estado systemctlCrear volumen de Docker para datos y registro
El volumen de Docker es un método para conservar los datos y la configuración en los contenedores de Docker. Cuando elimina cualquier contenedor, los datos y las configuraciones siguen estando disponibles en el volumen de Docker. Por lo tanto, deberá crear volúmenes de datos y registros para hacer una copia de seguridad de los datos y configuraciones de Jenkins, incluidos registros, complementos, configuración de complementos y configuración de trabajos.
Comencemos con la creación de un volumen para los datos y el registro con el siguiente comando:
Docker volume crea jenkins-dataDocker volume crear jenkins-log
Una vez creados los volúmenes, puede enumerarlos con el siguiente comando:
docker volume lsDebería ver el siguiente resultado:
NOMBRE DEL VOLUMEN DEL CONDUCTORdatos-jenkins locales
jenkins-log local
Instalar Jenkins con Docker
A continuación, deberá crear un archivo de ventana acoplable para extraer y construir la imagen de Jenkins con la configuración requerida.
Puede crear un archivo docker con el siguiente comando:
ventana acoplable mkdirnano docker / dockerfile
Agrega las siguientes líneas:
DE jenkins / jenkinsMantenedor de LABEL = "[correo electrónico protegido]"
USUARIO root
EJECUTAR mkdir / var / log / jenkins
EJECUTAR mkdir / var / cache / jenkins
EJECUTAR chown -R jenkins: jenkins / var / log / jenkins
EJECUTAR chown -R jenkins: jenkins / var / cache / jenkins
USUARIO jenkins
ENV JAVA_OPTS = "- Xmx8192m"
ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.Iniciar sesión
--webroot = / var / cache / jenkins / war "
Guarde y cierre el archivo cuando haya terminado. Luego, cree la imagen de Jenkins con el siguiente comando:
ventana acoplable de cddocker build -t myjenkins .
Debería ver el siguiente resultado:
Envío de contexto de compilación al demonio 2 de Docker.048kBPaso 1/10: DE jenkins / jenkins
---> ae831925b271
Paso 2/10: mantenedor de LABEL = "[correo electrónico protegido]"
---> Ejecutando en 673bf1ecc3ea
Extracción del recipiente intermedio 673bf1ecc3ea
---> cad1bee88092
Paso 3/10: usuario root
---> Ejecutando en 36909c427d44
Extracción del contenedor intermedio 36909c427d44
---> 2c381cc3a773
Paso 4/10: EJECUTAR mkdir / var / log / jenkins
---> Ejecutando en 337c0310db99
Extracción del contenedor intermedio 337c0310db99
---> 5aa93b90c67e
Paso 5/10: EJECUTAR mkdir / var / cache / jenkins
---> Ejecutando en 2c77577ae28b
Extracción del recipiente intermedio 2c77577ae28b
---> 5016430c07eb
Paso 6/10: EJECUTAR chown -R jenkins: jenkins / var / log / jenkins
---> Ejecutando en e4c820f66103
Extracción del contenedor intermedio e4c820f66103
---> c8d2830a84c5
Paso 7/10: EJECUTAR chown -R jenkins: jenkins / var / cache / jenkins
---> Corriendo en d024606146d5
Desmontaje contenedor intermedio d024606146d5
---> a11d613cff18
Paso 8/10: USUARIO jenkins
---> Ejecutando en 478f3c067131
Extracción del contenedor intermedio 478f3c067131
---> edea568d5564
Paso 9/10: ENV JAVA_OPTS = "- Xmx8192m"
---> Ejecutando en 5ae52922f52b
Extracción del recipiente intermedio 5ae52922f52b
---> cb1285b1bc72
Paso 10/10: ENV JENKINS_OPTS = "- handlerCountMax = 300 --logfile = / var / log / jenkins / jenkins.Iniciar sesión
--webroot = / var / cache / jenkins / war "
---> Ejecutando en 973fb9257c29
Extracción del contenedor intermedio 973fb9257c29
---> b131c5adf03e
B131c5adf03e construido con éxito
Myjenkins etiquetado exitosamente: último
La nueva imagen de Jenkins con el nombre myjenkins se ha construido con éxito.
Ejecute Jenkins Container con datos y volumen de registro
La imagen de Jenkins ahora está construida con la configuración requerida. A continuación, deberá ejecutar el contenedor de Jenkins especificando los volúmenes de registro y datos como punto de montaje.
Puede ejecutar el contenedor de Jenkins con el siguiente comando:
Docker ejecutar -p 8080: 8080 -p 50000: 50000 --nombre = jenkins-master --mount source = jenkins-log,destino = / var / log / jenkins --mount fuente = datos-jenkins, destino = / var / inicio_jenkins -d myjenkins
Una vez que se inicia el contenedor de Jenkins, puede verificar el contenedor en ejecución con el siguiente comando:
docker psDebería ver el siguiente resultado:
ESTADO CREADO DEL COMANDO DE IMAGEN ID DEL CONTENEDOR3dec02a7077c myjenkins "/ sbin / tini - / usr /…" Hace 6 minutos Hasta 6 minutos
NOMBRES DE LOS PUERTOS
0.0.0.0: 8080-> 8080 / tcp, 0.0.0.0: 50000-> 50000 / tcp jenkins-master
A continuación, deberá verificar el archivo de registro de jenkins si todo está funcionando bien o no:
docker exec jenkins-master tail -f / var / log / jenkins / jenkins.Iniciar sesiónDebería ver el siguiente resultado:
Utilice la siguiente contraseña para continuar con la instalación:
b437ba21655a44cda66a75b8fbddf5b8Esto también se puede encontrar en: / var / jenkins_home / secrets / initialAdminPassword
************************************************ ***********
************************************************ ***********
************************************************ ***********
Tenga en cuenta la contraseña anterior, la necesitará durante el asistente de configuración web de Jenkins.
Acceder a la interfaz web de Jenkins
Ahora, abra su navegador web y escriba la URL http: // ip-de-su-servidor: 8080. Se le redirigirá a la pantalla de configuración de Jenkins como se muestra a continuación:
Proporcione su contraseña de administrador y haga clic en el Continuar botón. Debería ver la siguiente página:
Ahora, haga clic en el "Instalar complementos sugeridos"Para instalar los complementos necesarios. Una vez finalizada la instalación. Debería ver la siguiente página:
Ahora, proporcione su nombre de usuario de administrador, contraseña y nombre completo y luego haga clic en el Ahorrar y Terminar botón. Debería ver la siguiente página:
Ahora, simplemente haga clic en el Guardar y finalizar botón. Una vez que la configuración se haya completado correctamente, debería ver la siguiente página:
Ahora, haga clic en el "Empiece a usar Jenkins". Se le redirigirá al panel de Jenkins como se muestra en la siguiente página:
Ahora, haga clic en "crear nuevos puestos de trabajo" botón. Debería ver la siguiente página:
Ahora, proporcione el nombre de su trabajo y haga clic en el OK botón. Debería ver la siguiente página:
Ahora, haga clic en el botón Guardar para ahorrar todos los ajustes. Debería ver sus trabajos recién creados en la siguiente página:
Pruebe los datos persistentes de Jenkins
Jenkins ahora está instalado y configurado. A continuación, deberá probar si los datos y el registro de Jenkins aún persisten después de eliminar el contenedor de Jenkins.
Para hacerlo, primero detenga y elimine el contenedor de Jenkins con el siguiente comando:
docker stop jenkins-masterdocker rm jenkins-master
Ahora, inicie el contenedor de Jenkins nuevamente con el siguiente comando:
Docker ejecutar -p 8080: 8080 -p 50000: 50000 --nombre = jenkins-master --mount source = jenkins-log,destino = / var / log / jenkins --mount fuente = datos-jenkins, destino = / var / inicio_jenkins -d myjenkins
Una vez que se haya iniciado el contenedor de Jenkins, abra su navegador web y escriba la URL http: // ip-de-su-servidor: 8080. Serás redirigido a la siguiente página:
Ahora, proporcione su nombre de usuario administrador y contraseña y luego haga clic en el Firmar en botón. Debería ver el panel de Jenkins en la siguiente página:
Eso significa que ha conservado todos los datos, registros, configuración de instalación e instalaciones de complementos. También deberías ver que tu trabajo myjenkins sigue ahí.
CONCLUSIÓN
Ahora puede contener su proceso devop con Jenkins y Docker, disfrute.