GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Jenkins CI/CD en Ubuntu Linux

¿Pasa mucho tiempo implementando código en su infraestructura con muchos pasos y software? No se preocupe, está en el lugar correcto para aprender a instalar Jenkins, la herramienta de código abierto más utilizada.

¿No eres un lector? ¡Mira este video tutorial relacionado! ¿No ve el video? Asegúrate de que tu bloqueador de anuncios esté deshabilitado.

En este tutorial, aprenderá cómo instalar Jenkins en una máquina Ubuntu, para que pueda compilar e implementar código con solo hacer clic en un botón.

¡Sigue leyendo y empieza a instalar!

Requisitos

Esta publicación será un tutorial paso a paso. Para seguir, asegúrese de tener una máquina con Ubuntu. Este tutorial usa Ubuntu 18.04 con apache instalado.

Instalación de la versión 11 de Java en una máquina con Ubuntu

Jenkins es una herramienta de integración continua (CI) y despliegue continuo (CD), que puede ejecutar en diferentes contenedores de servlet, como Apache tomcat o glassfish. Pero para esta demostración, ejecutará Jenkins en su servidor de contenedores de servlets de Java integrado.

Hay varias implementaciones de Java que puede usar para trabajar con Jenkins, pero OpenJDK es la más popular, que instalará y usará en este tutorial.

1. Inicie sesión en su máquina Ubuntu usando su cliente SSH favorito.

2. Luego, ejecute los siguientes comandos para crear un directorio llamado ~/install_jenkins_demo y cambia a ese directorio.

mkdir ~/install_jenkins_demo
cd ~/install_jenkins_demo

3. Ejecute el apt install comando a continuación para instalar Java en su máquina.

# Installing Java Version: Java SE 11 (LTS)
sudo apt install default-jdk 

4. Finalmente, ejecute el siguiente comando para verificar la versión de Java instalada en su máquina. Si lo hace, se asegurará de haber instalado Java con éxito.

# Checking the Version of Java to verify Java installation.
java -version

Instalar Jenkins en la instancia de Ubuntu 18.04 LTS

Ahora que tiene Java instalado en la máquina Ubuntu, es hora de instalar Jenkins en su máquina. Instalar Jenkins es bastante similar a cómo instala otros paquetes en su máquina.

Suponiendo que aún esté conectado al cliente SSH:

1. Primero, ejecuta el apt update Comando para actualizar los paquetes de su sistema.

sudo apt update

2. A continuación, ejecute el wget Comando a continuación para agregar la clave pública de Jenkins a su sistema.

Agregar la clave pública permite que el sitio de Jenkins descargue el repositorio oficial de Jenkins o cualquier paquete requerido.

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

3. Ejecute los siguientes comandos para agregar el repositorio oficial de Jenkins a su sistema y actualizar su sistema.

# Adding the Jenkins official repository to the system
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
    /etc/apt/sources.list.d/jenkins.list'
# Updating the package
sudo apt-get update

4. Ahora, ejecute el siguiente comando para install el Jenkins paquete.

# Installing the Jenkins Package
sudo apt-get install Jenkins

5. Finalmente, ejecuta el service Comando a continuación para verificar el estado del servicio Jenkins. # Validating the Jenkins service on ubuntu machine service jenkins status

# Validating the Jenkins service on ubuntu machine
service jenkins status

Como puede ver a continuación, el estado muestra que el servicio de Jenkins está activo. .

Configuración de una instancia de Jenkins

A estas alturas, está a la mitad de la instalación exitosa de Jenkins. Pero, antes de comenzar a usarlo, debe configurarlo con las comodidades básicas. ¿Cómo? El primer paso para configurar Jenkins es desbloquear el Jenkins recién instalado.

Suponiendo que aún esté conectado al cliente SSH:

1. Abra su navegador favorito y navegue hasta la dirección IP del servidor seguido del puerto 8080 como jenkins-ip:8080. Después de navegar hasta el enlace, deberá desbloquear Jenkins proporcionando la contraseña administrativa. La contraseña administrativa se almacena en /var/lib/jenkins/secrets/initialAdminPassword directorio en el servidor (paso dos).

2. Ejecute el cat comando a continuación para agregar la contraseña de administrador en su máquina desde el /var/lib/jenkins/secrets/initialAdminPassword directorio.

cat /var/lib/jenkins/secrets/initialAdminPassword

Como puede ver a continuación, la cadena enorme en el resultado es la contraseña de administrador. Tenga en cuenta la contraseña de administrador, ya que la necesitará para desbloquear Jenkins (paso tres).

3. Vuelva a su navegador web (Desbloquear Jenkins página) e ingrese la contraseña de administrador que anotó en el paso dos.

Una vez que haya desbloqueado Jenkins, su navegador lo redirigirá a una página donde personalizará su instancia de Jenkins con complementos (paso cuatro).

4. En Personalizar Jenkins página, haga clic en Instalar complementos sugeridos opción.

Jenkins Plugin es una herramienta de terceros que se integra con Jenkins y le permite realizar tareas como el complemento Git. El complemento de Git le permite conectarse con el repositorio de Git, ejecutar comandos de Git, etc.

5. Complete los detalles del usuario administrador, como se muestra a continuación, y haga clic en Guardar y continuar para crear un usuario administrador. Este usuario administrador le permite trabajar con el Panel de interfaz de usuario de Jenkins o la instancia de Jenkins.

Tan pronto como presione Guardar y continuar, obtendrá una pantalla de configuración de instancia que se muestra en el paso cinco.

De forma predeterminada, Jenkins tiene un usuario Administrador creado con nombre de usuario/contraseña (admin: admin ), pero aún le brinda la opción de crear un usuario administrador de su elección. Puede omitir y continuar como administrador si no desea crear un usuario administrador personalizado.

6. Por último, haga clic en Guardar y finalizar para guardar la configuración de la instancia.

La configuración de la instancia le permite especificar la URL de Jenkins que desea usar y, en este caso, usará la URL predeterminada (es decir, IP del servidor:8080)

Cambiar el puerto predeterminado de una instancia de Jenkins

Anteriormente, aprendió que, de forma predeterminada, Jenkins se ejecuta en el puerto 8080, lo cual está bien. Pero, ¿qué sucede si necesita ejecutar otras aplicaciones en el mismo puerto, como apache o NGINX? ¡Sin preocupaciones! Puede cambiar el puerto predeterminado de Jenkins (8080) y ejecutar la instancia de Jenkins en otros puertos.

1. Abra el /etc/default/Jenkins archivo en su editor de texto preferido y cambie el puerto predeterminado de 8080 a 9090 y guarde los cambios.

2. A continuación, ejecute el siguiente comando para reiniciar Jenkins, de modo que las configuraciones actualizadas surtan efecto.

sudo systemctl restart jenkins

3. Finalmente, navegue a la URL de Jenkins, pero esta vez, cambie el puerto a 9090, como se muestra a continuación.

Ejecutar Jenkins de forma segura (HTTPS) mediante un certificado SSL

Por ahora, su instancia de Jenkins se ejecuta perfectamente en el puerto 9090. Pero, ¿es seguro? No, no es. Asegure su instancia de Jenkins y evite que los atacantes la comprometan al tener habilitado un certificado SSL.

Los certificados SSL se utilizan principalmente para probar en la máquina local cuando no hay un certificado disponible de una autoridad de certificación externa.

Para asegurar su instancia de Jenkins:

1. Ejecute cada comando a continuación para crear un directorio llamado ~/certificates para almacenar certificados y cambiar a ese directorio.

mkdir ~/certificates
cd ~/certificates

2. A continuación, ejecute el siguiente openssl comando para generar una solicitud de firma de certificado (CSR) y una clave privada.

openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes

3. Ejecute los siguientes comandos para crear otro directorio (/etc/apache2/ssl ) y mueva los certificados del ~/certificates/ directorio al /etc/apache2/ssl directorio.

mkdir /etc/apache2/ssl
mv ~/certificates/* /etc/apache2/ssl/.

4. Abra el archivo de configuración del sitio Apache SSL predeterminado (/etc/apache2/sites-available/default-ssl.conf ) y agregue las siguientes líneas. Asegúrese de reemplazar con el nombre real de su servidor.

En el siguiente código, especifica la ubicación (archivo y clave de certificado) donde copió previamente los certificados SSL. Además, para que Jenkins redirija al puerto 9090 , agregará el ProxyPass argumento y encienda el ProxyPreserveHost .

ServerName 
SSLCertificateFile    /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:9090/
ProxyPassReverse / http://127.0.0.1:9090/

5. Ahora ejecute cada comando a continuación para habilitar el módulo SSL, habilite el sitio que modificó (paso cuatro) y reinicie el servicio Apache.

# Enable the SSL module, so you can work with SSL connections.
sudo a2enmod ssl proxy proxy_http proxy_balancer
# Enable the site you modified (step four)
sudo a2ensite default-ssl.conf
# Restart the Apache service
sudo service apache2 restart

6. Finalmente, navegue a su instancia de Jenkins, pero esta vez, usando HTTPS, como se muestra a continuación.

Como puede ver, Jenkins se está abriendo con éxito con conexiones SSL en el puerto HTTPS. No se preocupe si ve un símbolo de advertencia que muestra No es seguro mensaje. Recibirá esa advertencia ya que está utilizando un certificado autofirmado (creado por usted) y no por la autoridad de certificación.

Conclusión

En este tutorial, aprendió cómo instalar Jenkins en una máquina Ubuntu y verificar que puede acceder a una instancia de Jenkins de forma segura.

Ahora, ¿cómo planeas mejorar tu juego con Jenkins? ¿Quizás automatizar las implementaciones web? ¿O crear una canalización de CD de CI de Jenkins para mejorar su proceso de desarrollo de software?


Linux
  1. Cómo instalar Java en Linux

  2. Cómo instalar Java en Ubuntu

  3. Cómo instalar Java en Ubuntu Linux

  4. Cómo instalar Jenkins en Linux

  5. Cómo instalar Java en Ubuntu 22.04

Cómo instalar Java en Ubuntu 18.04

Cómo instalar Java 14 en Linux, Ubuntu, CentOS

Cómo instalar Rust en Ubuntu Linux

Cómo instalar Jenkins en Ubuntu 18.04

¿Cómo instalar Java en Ubuntu 18.04?

Cómo instalar ClamAV en Ubuntu Linux