GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Jenkins Automation Server con Apache en Ubuntu 20.04

Jenkins es un servidor de automatización gratuito y de código abierto que ayuda a los desarrolladores a crear, probar e implementar su software. Está basado en Java y proporciona más de 1700 complementos que ayudan a automatizar las tareas repetitivas involucradas en el proceso de desarrollo de software. Es compatible con varios sistemas operativos, como Windows, Mac OS X y Linux, y se puede distribuir fácilmente en varias máquinas.

En este tutorial, le mostraremos cómo instalar Jenkins con Apache como proxy inverso en Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contraseña de root en el servidor.

Cómo empezar

Antes de comenzar, es una buena idea actualizar su sistema con la última versión. Puede actualizar su sistema con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Después de actualizar el sistema, reinícielo para implementar los cambios.

Instalar Java

Jenkins está basado en Java, por lo que Java debe estar instalado en su sistema. Si no está instalado, puede instalarlo ejecutando el siguiente comando:

apt-get install openjdk-11-jdk gnupg2 -y

Una vez instalado, verifique la versión instalada de Java con el siguiente comando:

java -version

Deberías obtener el siguiente resultado:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Jenkins

De forma predeterminada, la última versión de Jenkins no está disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deberá agregar el repositorio de Jenkins a su sistema.

Primero, descargue y agregue la clave GPG con el siguiente comando:

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

A continuación, agregue el repositorio de Jenkins a la APT con el siguiente comando:

sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

A continuación, actualice el repositorio e instale la última versión de Jenkins con el siguiente comando:

apt-get update -y
apt-get install jenkins -y

Después de la instalación exitosa, verifique el estado de Jenkins con el siguiente comando:

systemctl status jenkins

Debería ver el siguiente resultado:

? jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Sun 2020-08-09 12:50:35 UTC; 44s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 2353)
     Memory: 0B
     CGroup: /system.slice/jenkins.service

Aug 09 12:50:34 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time...
Aug 09 12:50:34 ubuntu2004 jenkins[6134]: Correct java version found
Aug 09 12:50:34 ubuntu2004 jenkins[6134]:  * Starting Jenkins Automation Server jenkins
Aug 09 12:50:34 ubuntu2004 su[6180]: (to jenkins) root on none
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session closed for user jenkins
Aug 09 12:50:35 ubuntu2004 jenkins[6134]:    ...done.
Aug 09 12:50:35 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.

En este punto, Jenkins se está ejecutando y escuchando en el puerto 8080. Puede verificarlo con el siguiente comando:

netstat -plntu | grep 8080

Debería ver el siguiente resultado:

tcp6       0      0 :::8080                 :::*                    LISTEN      6192/java  

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Apache como proxy inverso

A continuación, deberá instalar y configurar Apache como un proxy inverso para Jenkins. Entonces puede acceder a Jenkins a través del puerto 80.

Primero, instale el servidor web Apache con el siguiente comando:

apt-get install apache2 -y

Después de instalar el servidor web Apache, habilite los módulos necesarios con el siguiente comando:

a2enmod proxy
a2enmod proxy_http

A continuación, cree un archivo de configuración de host virtual de Apache para Jenkins con el siguiente comando:

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

Agregue las siguientes líneas:

<Virtualhost *:80>
    ServerName        jenkins.example.com
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
 
    <Proxy http://localhost:8080/>
      Order deny,allow
      Allow from all
    </Proxy>
 
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hakase-labs.io/
</Virtualhost>

Guarde y cierre el archivo cuando haya terminado. Luego, habilite el archivo de configuración del host virtual de Apache con el siguiente comando:

a2ensite jenkins

A continuación, reinicie el servicio de Apache y Jenkins para aplicar los cambios:

systemctl reload apache2
systemctl restart jenkins

Ahora puede verificar el estado del servicio Apache con el siguiente comando:

systemctl status apache2

Deberías obtener el siguiente resultado:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Sun 2020-08-10 12:41:30 UTC; 22min ago
  Process: 15407 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
 Main PID: 14417 (apache2)
    Tasks: 11 (limit: 1114)
   CGroup: /system.slice/apache2.service
           ??14417 /usr/sbin/apache2 -k start
           ??15412 /usr/sbin/apache2 -k start
           ??15413 /usr/sbin/apache2 -k start
           ??15414 /usr/sbin/apache2 -k start
           ??15416 /usr/sbin/apache2 -k start
           ??15417 /usr/sbin/apache2 -k start
           ??15418 /usr/sbin/apache2 -k start
           ??15419 /usr/sbin/apache2 -k start
           ??15420 /usr/sbin/apache2 -k start
           ??15422 /usr/sbin/apache2 -k start
           ??15429 /usr/sbin/apache2 -k start

Aug 10 12:41:29 ubuntu20.04 systemd[1]: Starting The Apache HTTP Server...

En este punto, el servidor web Apache está configurado para servir a Jenkins. Ahora puede continuar con el siguiente paso.

Nota:si se conecta a Jenkins a través de Internet, se recomienda asegurar las conexiones con SSL/TLS. Para habilitar SSL a través de Let's Encrypt usando certbot para la interfaz web de Jenkins, eche un vistazo aquí:

https://www.howtoforge.com/how-to-manage-lets-encrypt-ssl-tls-certificates-with-certbot/

Acceder a la interfaz web de Jenkins

Ahora, abra su navegador web y escriba la URL http://jenkins.example.com. Se le pedirá que ingrese la contraseña de administrador inicial como se muestra a continuación:

Puede ver la contraseña de administrador inicial de Jenkins con el siguiente comando:

cat /var/lib/jenkins/secrets/initialAdminPassword

Debería ver la contraseña de Jenkins en el siguiente resultado:

78d6b10330434b27a09590fc781c9e6d

Escriba la contraseña del resultado anterior en la pantalla de inicio de sesión y haga clic en Continuar. botón. Será redirigido a la pantalla de personalización de Jenkins:

Seleccione la opción deseada y haga clic en ella. Debería ver las instalaciones de los complementos de Jenkins en la pantalla de progreso:

Una vez que todos los complementos se hayan instalado correctamente, debería ver la siguiente pantalla:

Proporcione su nombre de usuario, contraseña y correo electrónico de administrador y haga clic en Guardar y continuar botón. Debería ver la siguiente pantalla:

Escriba su URL de Jenkins y haga clic en Guardar y finalizar botón. Debería ver la siguiente pantalla:

Haga clic en el botón "Empezar a usar Jenkins ". Debería ver el panel de control de Jenkins en la siguiente pantalla:

A continuación, deberá configurar los ajustes de seguridad estándar para Jenkins.

En el panel izquierdo, haga clic en Administrar Jenkins => Configurar seguridad global . Debería ver la siguiente pantalla:

Ahora, seleccione Seguridad basada en Matrix , agregue su usuario, otorgue privilegios completos y haga clic en Guardar botón.

Prueba de Jenkins

En este punto, Jenkins está instalado y configurado. es hora de crear un trabajo de muestra y probar la funcionalidad de Jenkins.

En el tablero de Jenkins, haga clic en Crear nuevo trabajo botón. Debería ver la siguiente pantalla:

Proporcione el nombre de su trabajo, seleccione Proyecto de estilo libre y haga clic en Aceptar botón. Debería ver la siguiente pantalla:

Ahora, haga clic en Construir pestaña. En "Agregar paso de compilación ", selecciona la opción "Ejecutar shel l" y escriba"libre -m " en el cuadro de comando. Luego, haga clic en Guardar botón. Debería ver la siguiente pantalla:

Ahora, haz clic en el botón "Crear ahora " en el panel izquierdo para ejecutar el trabajo. Una vez que se haya ejecutado el trabajo, debería ver la salida de la consola del trabajo ejecutado por Jenkins en la siguiente pantalla:

Conclusión

¡Felicidades! ha instalado con éxito Jenkins con Apache en el servidor Ubuntu 20.04. Ahora puede usar Jenkins en el entorno de desarrollo para acelerar el proceso de desarrollo. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar WordPress con Apache en Ubuntu 18.04

  2. Cómo instalar Jenkins Automation Server con Apache en Ubuntu 16.04

  3. Cómo instalar Jenkins Automation Server con Nginx en CentOS 7

  4. Cómo instalar Apache Maven en Ubuntu 20.04

  5. Cómo instalar Apache ZooKeeper en Ubuntu 20.04

Cómo instalar InvoiceNinja en un servidor Ubuntu 20.04 con Apache/Nginx

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar el servidor web Apache en Ubuntu 18.04

Cómo instalar el servidor Apache Tomcat en Ubuntu 22.04

Cómo instalar Drupal en un servidor Ubuntu 20.04 con Apache

Cómo instalar Jenkins en Ubuntu 18.04