Saltar al contenido

Cómo instalar Jenkins en Ubuntu 20.04

Introducción
Cuando se enfrenta a tareas técnicas repetitivas, encontrar soluciones de automatización que funcionen puede ser una tarea ardua. Con Jenkins, un servidor de automatización de código abierto, puede administrar tareas de manera eficiente desde la creación hasta la implementación del software. Jenkins está basado en Java, se instala desde paquetes de Ubuntu o descargando y ejecutando su archivo de aplicación web (WAR), una colección de archivos que conforman una aplicación web completa para ejecutarse en un servidor.

En este tutorial instalaremos Jenkins en Ubuntu 20.04, iniciaremos el servidor de desarrollo y crearemos un usuario administrativo para comenzar a explorar lo que Jenkins puede hacer. Si bien tendrá un servidor de nivel de desarrollo listo para usar al final de este tutorial, para asegurar esta instalación para producción, siga la guía Cómo configurar Jenkins con SSL usando un proxy inverso de Nginx en Ubuntu 18.04.

Prerrequisitos
Para seguir este tutorial, necesitará:

Un servidor Ubuntu 20.04 configurado con un usuario sudo no root y un firewall siguiendo la guía de configuración del servidor inicial de Ubuntu 20.04. Recomendamos comenzar con al menos 1 GB de RAM. Visite las “Recomendaciones de hardware” de Jenkins para obtener orientación sobre la planificación de la capacidad de una instalación de Jenkins a nivel de producción.
Oracle JDK 11 instalado, siguiendo nuestras pautas sobre la instalación de versiones específicas de OpenJDK en Ubuntu 20.04.

Paso 1: instalación de Jenkins
La versión de Jenkins incluida con los paquetes predeterminados de Ubuntu suele estar detrás de la última versión disponible del propio proyecto. Para asegurarse de tener las últimas correcciones y funciones, use los paquetes mantenidos por el proyecto para instalar Jenkins.

Primero, agregue la clave del repositorio al sistema:

$ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

Después de agregar la clave, el sistema regresará con OK.

A continuación, agreguemos la dirección del repositorio de paquetes Debian a sources.list del servidor:

$ sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
After both commands have been entered, we’ll run update so that apt will use the new repository.
$ sudo apt update

Finalmente, instalaremos Jenkins y sus dependencias.

$ sudo apt install jenkins

Ahora que Jenkins y sus dependencias están en su lugar, iniciaremos el servidor de Jenkins.

Paso 2: iniciar Jenkins
Comencemos Jenkins usando systemctl:

$ sudo systemctl start jenkins

Dado que systemctl no muestra la salida de estado, usaremos el comando de estado para verificar que Jenkins se inició correctamente:

$ sudo systemctl status jenkins

Si todo salió bien, el comienzo de la salida de estado muestra que el servicio está activo y configurado para iniciarse en el arranque:

Output
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; generated)
   Active: active (exited) since Fri 2020-06-05 21:21:46 UTC; 45s ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 1137)
   CGroup: /system.slice/jenkins.service
Now that Jenkins is up and running, let’s adjust our firewall rules so that we can reach it from a web browser to complete the initial setup.

Step 3 — Opening the Firewall
To set up a UFW firewall, visit Initial Server Setup with Ubuntu 20.04, Step 4- Setting up a Basic Firewall. By default, Jenkins runs on port 8080. We’ll open that port using ufw:

$ sudo ufw allow 8080

Nota: Si el firewall está inactivo, los siguientes comandos permitirán OpenSSH y habilitarán el firewall:

$ sudo ufw allow OpenSSH
$ sudo ufw enable

Verifique el estado de ufw para confirmar las nuevas reglas:

$ sudo ufw status

Notarás que el tráfico puede ingresar al puerto 8080 desde cualquier lugar:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8080                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8080 (v6)                  ALLOW       Anywhere (v6)

Con Jenkins instalado y nuestro firewall configurado, podemos completar la etapa de instalación y sumergirnos en la configuración de Jenkins.

Paso 4: configuración de Jenkins
Para configurar su instalación, visite Jenkins en su puerto predeterminado, 8080, utilizando el nombre de dominio de su servidor o la dirección IP: http: // your_server_ip_or_domain: 8080

Debería recibir la pantalla Desbloquear Jenkins, que muestra la ubicación de la contraseña inicial:

Desbloquear la pantalla de Jenkins

En la ventana del terminal, use el comando cat para mostrar la contraseña:

$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Copie la contraseña alfanumérica de 32 caracteres del terminal y péguela en el campo Contraseña de administrador, luego haga clic en Continuar.

La siguiente pantalla presenta la opción de instalar complementos sugeridos o seleccionar complementos específicos:

Personalizar la pantalla de Jenkins

Haremos clic en la opción Instalar complementos sugeridos, que iniciará inmediatamente el proceso de instalación.

Pantalla de instalación de complementos de introducción a Jenkins

Cuando se complete la instalación, se le pedirá que configure el primer usuario administrativo. Es posible omitir este paso y continuar como administrador usando la contraseña inicial que usamos anteriormente, pero nos tomaremos un momento para crear el usuario.

Nota: El servidor Jenkins predeterminado NO está encriptado, por lo que los datos enviados con este formulario no están protegidos. Consulte Cómo configurar Jenkins con SSL mediante un proxy inverso de Nginx en Ubuntu 20.04 para proteger las credenciales de usuario y la información sobre las compilaciones que se transmiten a través de la interfaz web.

Jenkins crea la primera pantalla de usuario administrador

Introduzca el nombre y la contraseña de su usuario:

Jenkins Crear usuario

Recibirá una página de Configuración de instancia que le pedirá que confirme la URL preferida para su instancia de Jenkins. Confirme el nombre de dominio de su servidor o la dirección IP de su servidor:

Configuración de instancia de Jenkins

Después de confirmar la información adecuada, haga clic en Guardar y finalizar. Recibirá una página de confirmación que confirma que "¡Jenkins está listo!":

Jenkins está listo para la pantalla

Haga clic en Comenzar a usar Jenkins para visitar el panel principal de Jenkins:

Bienvenido a Jenkins Screen

En este punto, ha completado una instalación exitosa de Jenkins.

Conclusión
En este tutorial, instaló Jenkins utilizando los paquetes proporcionados por el proyecto, inició el servidor, abrió el firewall y creó un usuario administrativo. En este punto, puede comenzar a explorar Jenkins.

Cuando haya completado su exploración, siga la guía Cómo configurar Jenkins con SSL usando un proxy inverso de Nginx en Ubuntu 20.04 para proteger sus contraseñas, así como cualquier sistema sensible o información de producto que se enviará entre su máquina y el servidor en texto sin formato para seguir usando Jenkins.

Para obtener más información sobre lo que puede hacer con Jenkins, consulte otros tutoriales sobre el tema:

Cómo crear aplicaciones de Android con Jenkins
Cómo configurar canalizaciones de integración continua en Jenkins en Ubuntu 16.04