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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
Ahora se iniciará y comenzará la instalación de plugins de Jenkins.
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.
Para la URL de instalación de Jenkins, introduce tu dominio Jenkins y haz clic en Guardar y Finalizar.
Ahora aparecerá la siguiente página. Pulsa el botón Reiniciar para reiniciar el servicio Jenkins y aplicar las nuevas configuraciones.
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.
Una vez que hayas iniciado sesión, verás el siguiente 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.
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«.
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.
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.
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.
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.
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.