GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instale y ejecute Jenkins con Systemd y Docker

Cuando descarga y configura Jenkins usando Docker, debe usar el comando manual para administrar el proceso. Se vuelve bastante inseguro y complicado. Entonces, lo administraremos usando systemd. En realidad, es el administrador de sistemas y servicios para los sistemas operativos Linux. Cuenta con inicio, habilitación, reinicio y detención bajo demanda de demonios, registro, etc.

En este artículo, voy a descargar el paquete de Jenkins desde el repositorio del concentrador docker y lo administraré con systemd manager. He usado Ubuntu Linux, pero puedes hacerlo en centos, Debian, Redhat, etc., que son compatibles con systemd.

Requisitos

  1. Última versión de docker instalada
  2. Conexión a Internet para descargar la imagen de Jenkins

Configuración

Para ejecutar un proceso necesitamos usuarios. Entonces, creamos un grupo de sistema, agregamos un usuario del sistema al grupo. Como no necesita iniciar sesión, no proporcionamos un shell de inicio de sesión. He dado aquí el nombre 'devops', puede dar su elección.

$ sudo groupadd --system devops
$ sudo useradd -s /sbin/nologin --system -g devops devops

Durante la instalación de la ventana acoplable, se agregó una ventana acoplable de usuario de forma predeterminada. Entonces, para ejecutar nuestro proceso dentro de la ventana acoplable, agreguemos el usuario 'devops' y su usuario de inicio de sesión actual al grupo de la ventana acoplable.

$ sudo usermod -aG docker devops
$ sudo usermod -aG docker $USER

Necesitamos un directorio para asignar el volumen del contenedor al host. Entonces, creemos un directorio y otorguemos la propiedad del usuario actual en el directorio.

$ sudo mkdir -p /data/jenkins
$ chown -R $USER:$USER /data/jenkins

Ahora puede verificar los 'devops' del usuario usando el siguiente comando. Su salida debe ser similar a la siguiente.

$ id devops

Ahora es el momento de crear un servicio. Los archivos de servicio se almacenan dentro de /etc/systemd/system/ Entonces, cree un archivo que termine con .service como se muestra a continuación.

$ vim /etc/systemd/system/docker-jenkins.service

Agregue el siguiente contenido en el archivo. La siguiente configuración creará un nombre de servicio docker-jenkins. Simplemente extraerá la última versión de la imagen de jenkins del centro acoplable y ejecutará el contenedor. También asignará los puertos 8080 y 50000 en el servidor host, que son necesarios para acceder al servicio jenkins. Como se define en la sección Unidad a continuación, requiere que docker.service se ejecute correctamente. Si tiene diferentes usuarios, los puntos de montaje cambian en consecuencia.

[Unit]

Description=My Jenkins Server

Documentation=https://jenkins.io/doc/

After=docker.service

Requires=docker.service

[Service]

Type=simple

User=devops

Group=devops

TimeoutStartSec=0

Restart=on-failure

RestartSec=30s

ExecStartPre=-/usr/bin/docker kill jenkins-server

ExecStartPre=-/usr/bin/docker rm jenkins-server

ExecStartPre=/usr/bin/docker pull jenkins/jenkins

ExecStart=/usr/bin/docker run \

--name jenkins-server \

--publish 8080:8080 \

--publish 50000:50000 \

--volume /data/jenkins:/var/jenkins_home \

jenkins/jenkins

SyslogIdentifier=jenkin

ExecStop=/usr/bin/docker stop jenkins-server

[Install]

WantedBy=multi-user.target

Vuelva a cargar el archivo de servicio en el demonio systemd, usando el siguiente comando.

$ sudo systemctl daemon-reload

Inicie el servicio docker usando el siguiente comando.

$ sudo systemctl start docker-jenkins

Systemd también proporciona un servicio de registro predeterminado en syslog. Puede ver el registro en la siguiente ubicación.

$ sudo tail -f /var/log/syslog

Ahora, puede iniciar el servicio después de que el servidor se reinicie usando la función de 'habilitación' del administrador systemd.

$ sudo systemctl enable docker-jenkins

Además, compruebe reiniciando el servicio.

$ sudo systemctl restart docker-jenkins

Configuración de Jenkins

Para configurar jenkins, primero visite http://yourserverip:8080 Luego, debe ingresar la contraseña de administrador inicial, que se establece en la siguiente ruta. Copie el resultado y péguelo en "Contraseña de administrador". Luego haga clic en continuar.

$ cat /data/jenkins/secrets/initialAdminPassword

Puede instalar el complemento necesario y continuar.

Conclusión

En este artículo, aprendió cómo instalar la última versión de Jenkins usando Docker y configurar el servicio para usarlo. Administrar Jenkins con systemd simplifica el trabajo. Gracias por leer.


Ubuntu
  1. Cómo instalar y alojar un servidor OpenVPN con Docker

  2. Cómo instalar Jenkins con Docker

  3. Instalar y ejecutar Vagrant en Ubuntu 20.04

  4. Cómo instalar Docker y ejecutar contenedores Docker en Ubuntu

  5. Configuración del servicio Systemd para que se ejecute con acceso de root

Cómo instalar Sentry con Docker en Ubuntu 20.04

Cómo instalar Mailtrain en Ubuntu 18.04 con Docker

Instalar Portainer con Docker en Ubuntu

Cómo instalar y configurar Jenkins en Ubuntu

Cómo ejecutar Jenkins en Docker usando Docker Compose con Volúmenes

Instale y use Docker Compose con Docker en Ubuntu 22.04