GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo instalar Jenkins en Ubuntu 20.04

Jenkins es un servidor de automatización de código abierto que ayuda a los desarrolladores a automatizar el proceso de desarrollo de software, lo que incluye compilación, prueba e implementación. Jenkins le permite administrar y monitorear cualquier cambio de código en GitHub, Bitbucket o GitLab y compilar el código automáticamente usando herramientas como Maven y Gradle. Con Jenkins, puede distribuir el trabajo de manera eficiente en varias máquinas.

En esta guía, le mostraremos cómo instalar Jenkins en Ubuntu 20.04.

Requisitos

  • Un Ubuntu 20.04 VPS (usaremos nuestro plan SSD 2 VPS)
  • Acceso a la cuenta de usuario root (o acceso a una cuenta de administrador con privilegios de root)

Paso 1:Inicie sesión en el servidor y actualice los paquetes del sistema operativo del servidor

Primero, inicie sesión en su servidor Ubuntu 20.04 a través de SSH como usuario raíz:

ssh root@IP_Address -p Port_number

Deberá reemplazar 'IP_Address' y 'Port_number' con la dirección IP y el número de puerto SSH respectivos de su servidor. Además, reemplace "root" con el nombre de usuario de la cuenta de administrador si es necesario.

Antes de comenzar, debe asegurarse de que todos los paquetes del sistema operativo Ubuntu instalados en el servidor estén actualizados. Puede hacerlo ejecutando los siguientes comandos:

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

Paso 2:Instalar Java

Jenkins es una aplicación basada en Java. Entonces, Java debe estar instalado en su sistema, si no está instalado, puede instalarlo usando el siguiente comando:

apt-get install default-jdk -y

Esto instalará la versión 11 de Java en su sistema. Puede verificar la versión de Java con el siguiente comando:

java -version

Deberías obtener el siguiente resultado:

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

Paso 3:Instalar Jenkins

De forma predeterminada, Jenkins no está disponible en el repositorio estándar de Ubuntu, por lo que deberá agregar el repositorio de jenkins a su sistema.

Primero, instala las dependencias necesarias con el siguiente comando:

apt-get install apt-transport-https gnupg2 -y

A continuación, 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 con el siguiente comando:

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

Una vez que se agrega el repositorio, actualice el caché del repositorio e instale Jenkins con el siguiente comando:

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

Después de instalar Jenkins, verifique el estado de Jenkins usando el siguiente comando:

systemctl status jenkins

Deberías obtener el siguiente resultado:

● jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Mon 2020-12-21 05:34:22 UTC; 6s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 2353)
     Memory: 0B
     CGroup: /system.slice/jenkins.service

Dec 21 05:34:20 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time...
Dec 21 05:34:21 ubuntu2004 jenkins[15472]: Correct java version found
Dec 21 05:34:21 ubuntu2004 jenkins[15472]:  * Starting Jenkins Automation Server jenkins
Dec 21 05:34:21 ubuntu2004 su[15526]: (to jenkins) root on none
Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session closed for user jenkins
Dec 21 05:34:22 ubuntu2004 jenkins[15472]:    ...done.
Dec 21 05:34:22 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.

Jenkins ahora se está ejecutando y escuchando en el puerto 8080. Puede verificarlo con el siguiente comando:

ss -antpl | grep 8080

Deberías obtener el siguiente resultado:

LISTEN    0         50                       *:8080                   *:*        users:(("java",pid=15539,fd=141))  

Paso 4:Configure Nginx como proxy inverso para Jenkins

Es una buena idea usar Nginx como proxy inverso para acceder a Jenkins. Para hacerlo, instale Nginx usando el siguiente comando:

apt-get install nginx -y

Una vez que nginx esté instalado, cree un archivo de configuración de Nginx con el siguiente comando:

nano /etc/nginx/conf.d/jenkins.conf

Agregue las siguientes líneas:

upstream jenkins {
  keepalive 32;
  server 127.0.0.1:8080;
}

# Required for Jenkins websocket agents
map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
}

server {
  listen          80;

  server_name     jenkins.domain.com;

  # this is the jenkins web root directory
  # (mentioned in the /etc/default/jenkins file)
  root            /var/run/jenkins/war/;

  access_log      /var/log/nginx/access.log;
  error_log       /var/log/nginx/error.log;
  # pass through headers from Jenkins that Nginx considers invalid
  ignore_invalid_headers off;

  location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" {
    rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last;
  }

  location /userContent {
    root /var/lib/jenkins/;
    if (!-f $request_filename){
      #this file does not exist, might be a directory or a /**view** url
      rewrite (.*) /$1 last;
      break;
    }
    sendfile on;
  }

  location / {
      sendfile off;
      proxy_pass         http://jenkins;
      proxy_redirect     default;
      proxy_http_version 1.1;

      # Required for Jenkins websocket agents
      proxy_set_header   Connection        $connection_upgrade;
      proxy_set_header   Upgrade           $http_upgrade;

      proxy_set_header   Host              $host;
      proxy_set_header   X-Real-IP         $remote_addr;
      proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;

      #this is the maximum upload size
      client_max_body_size       10m;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;
      proxy_buffering            off;
      proxy_request_buffering    off; # Required for HTTP CLI commands
      proxy_set_header Connection ""; # Clear for keepalive
  }

}

Guarde y cierre el archivo, luego verifique la configuración de Nginx usando el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finalmente, reinicie el servicio Nginx con el siguiente comando:

systemctl restart nginx

Paso 5:Acceda a Jenkins

Ahora, abra su navegador web y acceda a la interfaz web de Jenkins usando la URL http://jenkins.domain.com . Debería ver la siguiente página:

Ahora, abre tu terminal e imprime la contraseña de Jenkins usando el siguiente comando:

cat /var/lib/jenkins/secrets/initialAdminPassword

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

00c7fa4f27c142a3ab8e6867eddb1bdd

A continuación, vuelva a su interfaz web, pegue la contraseña anterior y haga clic en Continuar. botón. Debería ver la siguiente pantalla:

Haga clic en instalar complementos sugeridos botón. Una vez que todos los complementos estén instalados, debería obtener la siguiente página:

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

Proporcione la URL de su sitio web de Jenkins y haga clic en Guardar y finalizar botón. Debería ver la siguiente página:

Haga clic en Empezar a usar Jenkins . Debería ver el panel predeterminado de Jenkins en la siguiente página:

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de hospedaje de VPS Jenkins administrados, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD. Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Panels
  1. Cómo instalar Jenkins en Ubuntu 18.04

  2. Cómo instalar ISPConfig 3 en Ubuntu 18.04

  3. Cómo instalar R en Ubuntu 16.04

  4. Cómo instalar Jenkins en Ubuntu 16.04

  5. Cómo instalar Go en Ubuntu 18.04

Cómo instalar Jenkins en Ubuntu 16.04 LTS

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04

Cómo instalar Jenkins en Ubuntu 22.04

Instalar Jenkins en Ubuntu 18.04

Cómo instalar Jenkins en Ubuntu 18.04