Cómo instalar Jenkins en Ubuntu 22.04

Jenkins es una herramienta de automatización de código abierto para la Integración Continua/Entrega Continua (CI/CD). Está totalmente escrita en Java con el apoyo de más de 1000 plugins para construir, desplegar y automatizar tu proyecto. Jenkins se ha convertido en una de las principales herramientas de automatización que aceleran tu proceso de desarrollo mediante la automatización. Jenkins integra procesos del ciclo de vida del desarrollo como compilación, documentación, pruebas, paquetes, etapas, despliegue, análisis estático y muchos más.

Jenkins es compatible con múltiples herramientas de control de versiones, como Git, Subversion, Mercurial, CVS, Perforce y RTC. Además, puede ejecutar Apache Ant, Apache Maven, scripts de shell y comandos por lotes de Windows. Jenkins cuenta con un fuerte apoyo de la comunidad, con una amplia documentación y una wiki, lo que hace de Jenkins una de las herramientas de automatización CI/CD más utilizadas. Además, ofrece muchas herramientas, lenguajes y tareas de automatización diferentes para automatizar tu proceso de desarrollo y despliegue.

En este tutorial, aprenderás a instalar Jenkins en el último Ubuntu 22.04. Este tutorial también cubre cómo configurar Apache2 como proxy inverso para Jenkins con una conexión SSL habilitada sobre él. Al final, también aprenderás a crear el primer proyecto de compilación de Jenkins para ejecutar scripts o comandos de shell.

Requisitos previos

  • Un servidor Ubuntu 20.04
  • Un usuario no root con privilegios de administrador root.

Instalación de Java

En este primer paso, instalarás Java OpenJDK y JRE en tu sistema Ubuntu. La última versión de Jenkins requiere Java v11, y ahora vas a instalarlo en tu sistema.

Antes de empezar a instalar ningún paquete, ejecuta el comando apt que aparece a continuación para actualizar y refrescar tu repositorio de Ubuntu.

sudo apt update

Ahora instala el OpenJDK 11 de Java utilizando el siguiente comando.

sudo apt install openjdk-11-jre

Introduce Y para confirmar y pulsa ENTER para iniciar la instalación. Ahora se iniciará la instalación de Java OpenJDK.

instalar java openjdk

Una vez finalizada la instalación, ejecuta el siguiente comando java para comprobar y verificar la versión de java.

java --version

En la siguiente captura de pantalla, puedes ver que Java OpenJDK 11 está instalado en la máquina Ubuntu 22.04.

comprobar java

Instalación de Jenkins

Ya has instalado java en tu sistema Ubuntu, ahora empezarás a instalar Jenkins en la máquina Ubuntu 22.04.

Hay varias formas de instalar Jenkins, la más sencilla es utilizar el paquete Jenkins precompilado que proporciona el repositorio oficial de Jenkins. Y para ello, tendrás que añadir el repositorio de Jenkins a tu sistema Ubuntu.

Ejecuta el siguiente comando para añadir la clave GPG para el repositorio jenkins.

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

Después de eso, añade el repositorio Jenkins a tu sistema utilizando el comando de abajo.

echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

Ahora ejecuta el comando apt de abajo para actualizar y refrescar todos los repositorios de tu sistema.

sudo apt update

En la captura de pantalla de abajo puedes ver que se ha añadido el repositorio de Jenkins.

añadir repositorio jenkins

A continuación, puedes instalar Jenkins utilizando el siguiente comando apt.

sudo apt install jenkins

Introduce Y para confirmar la instalación y pulsa ENTER para continuar. Ahora comenzará la instalación de Jenkins.

instalar jenkins

Una vez completada la instalación, ejecuta el siguiente comando para iniciar y habilitar el servicio Jenkins.

sudo systemctl start jenkins
sudo systemctl enable jenkins

Ahora verifica el servicio Jenkins utilizando el siguiente comando.

sudo systemctl status jenkins

En la siguiente captura de pantalla, el servicio Jenkins está activo y en ejecución. Se está ejecutando en localhost con el puerto por defecto 8080. Además, ahora Jenkins está activado, lo que significa que se ejecutará automáticamente al iniciar el sistema.

start enable verify servicio jenkins

Configurar Apache2 como Proxy Inverso

En este punto, el Jenkins está activado y funcionando en la dirección por defecto localhost con el puerto 8080. Ahora, instalarás y configurarás el servidor web Apache2 como proxy inverso para jenkins.

El servidor web Apache2 se ejecutará delante del servicio Jenkins y abrirá los puertos HTTP y HTTPS estándar para el acceso del cliente.

Ejecuta el siguiente comando apt para instalar el paquete apache2 en tu sistema.

sudo apt install apache2

Introduce Y para confirmar la instalación y pulsa ENTER para continuar.

instalación de apache2

Una vez completada la instalación, ejecuta el siguiente comando para habilitar algunos módulos de apache2 necesarios para la configuración del proxy inverso.

sudo a2enmod ssl rewrite headers proxy proxy_http

Ahora verás la salida como en la siguiente captura de pantalla.

activar módulos apache2

A continuación, crea una nueva configuración de host virtual /etc/apache2/sites-available/jenkins.conf utilizando el editor nano.

sudo nano /etc/apache2/sites-available/jenkins.conf

Añade la siguiente configuración al archivo. Y asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL.

<VirtualHost *:80>
    ServerAdmin  webmaster@localhost
    Redirect permanent / https://jenkins.hwdomain.io/
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/jenkins.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/jenkins.hwdomain.io/privkey.pem
ServerAdmin  webmaster@localhost
ProxyRequests     Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass         /  http://localhost:8080/ nocanon
ProxyPassReverse  /  http://localhost:8080/
ProxyPassReverse  /  http://jenkins.hwdomain.io/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando para activar la configuración del host virtual jenkins.conf.

sudo a2ensite jenkins.conf

Después, comprueba y verifica todas tus configuraciones de Apache2 utilizando el comando siguiente.

sudo apachectl configtest

Asegúrate de que recibes el mensaje de salida«Sintaxis OK«, lo que significa que todas tus configuraciones de Apache2 son correctas.

Por último, ejecuta el siguiente comando para reiniciar el servicio Apache2 y aplicar los nuevos cambios a tu configuración de Apache2.

sudo systemctl restart apache2

Ahora el servidor web Apache2 está funcionando con la configuración del proxy inverso para Jenkins.

configuración apache2 proxy inverso jenkins

Iniciar la instalación de Jenkins

Llegados a este punto, estás preparado para iniciar la instalación y configuración de Jenkins desde tu navegador web. Pero antes de empezar a configurar Jenkins, necesitarás obtener y conseguir la inicialización de contraseña para Jenkins.

La inicialización de la contraseña para Jenkins está disponible en el archivo /var/lib/jenkins/secrets/initialAdminPassword. Este archivo contiene la contraseña secreta generada para inicializar tu instalación de Jenkins.

Ejecuta el siguiente comando para comprobar y obtener la contraseña inicial de jenkins.

ls /var/lib/jenkins/secrets/initialAdminPassword
cat /var/lib/jenkins/secrets/initialAdminPassword

En la siguiente captura de pantalla puedes ver una cadena aleatoria generada por Jenkins. Puede que tengas un secreto aleatorio diferente.

Copia la contraseña secreta inicial en tu nota, la utilizarás más adelante para configurar Jenkins.

contraseña einicialización jenkins

Abre tu navegador web y visita la URL de instalación de tu instalación de Jenkins (por ejemplo, https://jenkins.hwdomain.io).

En la primera página, se te pedirá que introduzcas la contraseña de inicialización para Jenkins. Introduce tu contraseña secreta para inicializar la instalación y configuración de Jenkins y luego haz clic en Continuar.

inicialización de la contraseña jenkins

Ahora haz clic en el botón«Instalar plugins sugeridos» para iniciar la configuración de Jenkins con plugins adicionales. Esta opción es buena para los principiantes, ya que instalará automáticamente algunos plugins de Jenkins que pueden ser necesarios para tu proyecto.

instala los plugins sugeridos

Ahora se iniciará y comenzará la instalación de plugins de Jenkins.

jenkins instalando plugins

Una vez finalizado el proceso de instalación, ahora se te pedirá que crees un nuevo usuario administrador para Jenkins.

Introduce el nuevo usuario administrador, la contraseña, la dirección de correo electrónico y el nombre completo de tu instalación de Jenkins y haz clic en el botón Guardar y continuar.

configuración jenkins admin

Para la URL de instalación de Jenkins, introduce tu dominio Jenkins y haz clic en Guardar y Finalizar.

configurar url jenkins

Ahora aparecerá la siguiente página. Pulsa el botón Reiniciar para reiniciar el servicio Jenkins y aplicar las nuevas configuraciones.

reinicia jenkins

Una vez reiniciado Jenkins, visita de nuevo el dominio de tu URL de instalación de Jenkins y ahora obtendrás la página de inicio de sesión de Jenkins.

Introduce tu usuario y contraseña de administrador para Jenkins y haz clic en Iniciar sesión.

iniciar sesión en jenkins

Una vez que hayas iniciado sesión, verás el siguiente panel de Jenkins.

Panel de Jenkins

Ahora has instalado y configurado correctamente Jenkins en el último Ubuntu 22.04 con Apache2 como proxy inverso para tu despliegue.

Crear la primera compilación de Jenkins

Después de haber instalado y configurado correctamente Jenkins, ahora vas a crear una nueva primera compilación Jenkins desde el panel de Jenkins.

En el panel de control de Jenkins, haz clic en el menú Nuevo elemento para crear un nuevo proyecto de compilación Jenkins.

jenkins crear construir

Introduce el nombre del proyecto, selecciona el tipo de proyecto y haz clic en Aceptar. En esta demo, el nombre del proyecto es «primera compilación» con el tipo de proyecto«Proyecto de estilo libre«.

crear estilo libre jenkins build

En la«sección general«, introduce la descripción de tu construcción.

Ahora ve a la pestaña«Construcción» y elige la construcción como«Ejecutar shell» e introduce el siguiente comando como comando de construcción.

echo "This is test build on jenkins"

Este proyecto sólo mostrará el mensaje «Esta es una compilación de prueba en Jenkins» en la salida de compilación de Jenkins.

Ahora haz clic en el botón Guardar.

setup build ejecutar shell

Ahora, en los detalles del proyecto«primera compilación«, haz clic en el menú«Compilar ahora» para iniciar y ejecutar la compilación de Jenkins.

construir proyecto

Una vez completado el proceso, puedes ver la sección del historial de construcción en el menú inferior como en la siguiente captura de pantalla.

Haz clic en el número de compilación para obtener detalles de la operación de compilación que se ha completado.

historial de construcción de jenkins

Ahora haz clic en el menú«Salida de la consola» y obtendrás la salida de tu primera compilación de Jenkins, que es el mensaje«Esta es una compilación de prueba en jenkins«. Y la compilación de Jenkins es un éxito.

construir salida jenkins

Conclusión

¡Enhorabuena! Ya has instalado con éxito Jenkins en el último servidor Ubuntu 22.04 con Apache2 como proxy inverso con la conexión segura HTTPS activada. Además, has aprendido la inicialización y configuración básica de Jenkins, y también has creado el primer proyecto de compilación simple utilizando Jenkins.

También te podría gustar...