Jenkins es un servidor de automatización de código abierto que permite a los desarrolladores de todo el mundo crear, probar e implementar su software de manera confiable. Es una popular herramienta de automatización de código abierto para realizar integración continua y automatización de compilaciones. Jenkins permite ejecutar una lista predefinida de pasos, p. para compilar el código fuente de golang para construir un archivo binario. El desencadenante de esta ejecución puede basarse en el tiempo o en un evento.
Los posibles pasos ejecutados por Jenkins son, por ejemplo:
- Clonando el código del sistema de control de código fuente.
- ejecutar un comando para instalar las dependencias necesarias para que se ejecute el código
- Ejecutar pruebas para el software
- construya el software para obtener un ejecutable
- Publicar los resultados de las pruebas
- publicar el código binario resultante
Jenkins monitorea la ejecución de los pasos y permite detener el proceso, si uno de los pasos falla. Jenkins también puede enviar notificaciones en caso de una compilación exitosa o fallida.
Jenkins se puede ampliar con complementos adicionales. Por ejemplo, puede instalar complementos para ayudar a crear y probar aplicaciones de Android.
Contenido relacionado
- Cómo instalar y configurar Jenkins en FreeBSD 13
- Cómo instalar y configurar Jenkins en Fedora 35
- Cómo instalar y configurar Jenkins en Rocky Linux/Centos 8
Requisitos
- Un sistema Linux con servidor Ubuntu 20.04 (al menos 2 GB de RAM)
- Una cuenta de usuario con privilegios sudo o root
- Acceso a una ventana de terminal/línea de comando
- Versión de Java reciente instalada
Tabla de contenido
- Asegurarse de que el sistema esté actualizado
- Instalar Java
- Instalar Jenkins
- Iniciando y habilitando jenkins
- Acceso a Jenkins
- Opcional:acceder a jenkins usando un dominio
1. Asegurarse de que el sistema esté actualizado
Antes de continuar, asegúrese de que su sistema tenga paquetes actualizados. Use este comando para lograr esto:
sudo apt update
sudo apt upgrade -y
2. Instalar Java
Asegúrese de que Java funcione como se esperaba. Escriba este comando para comprobar la versión de Java
java -version
Si ese comando genera un error, debe instalar Java Runtime Env.
sudo apt install -y default-jre
3. Instalar Jenkins
Primero agregue la clave a su sistema:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Luego agregue la siguiente entrada en su /etc/apt/sources.list
:
deb https://pkg.jenkins.io/debian-stable binary/
Actualice su índice de paquetes local, luego finalmente instale Jenkins:
sudo apt-get update
sudo apt-get install jenkins
4. Iniciando y habilitando jenkins
Asegúrese de que jenkins se esté ajustando tal como se expulsó comprobando el estado del servicio systemd
sudo systemctl status jenkins
Deberías ver algo como esto:
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Sat 2021-07-31 17:22:57 UTC; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 18175 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
Jul 31 17:22:55 frhb64566ds systemd[1]: Starting LSB: Start Jenkins at boot time...
Jul 31 17:22:55 frhb64566ds jenkins[18175]: Correct java version found
Jul 31 17:22:55 frhb64566ds jenkins[18175]: * Starting Jenkins Automation Server jenkins
Jul 31 17:22:55 frhb64566ds su[18214]: (to jenkins) root on none
Jul 31 17:22:55 frhb64566ds su[18214]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Jul 31 17:22:56 frhb64566ds su[18214]: pam_unix(su-l:session): session closed for user jenkins
Jul 31 17:22:57 frhb64566ds jenkins[18175]: ...done.
Jul 31 17:22:57 frhb64566ds systemd[1]: Started LSB: Start Jenkins at boot time.
5. Accediendo a Jenkins
Acceda al servidor jenkins usando la ip pública en el puerto 8080. Si está accediendo al servidor jenkins localmente, use http://localhost:8080
Obtener la IP pública de Jenkins
curl -4 icanhazip.com
Luego puede navegar a http://public_ip:8080
6. Opcional:Acceder a jenkins usando un nombre de dominio
Si desea acceder a jenkins usando un nombre de dominio, puede usar algo como nginx para el tráfico de proxy. Nginx le permite enviar el tráfico por proxy y terminar ssl si es necesario.
Instalar nginx
sudo apt install -y nginx
Asegúrese de que nginx se esté ejecutando
sudo systemctl status nginx
Cree un servidor nginx para jenkins en /etc/nginx/conf.d
con el contenido a servir:
Archivo /etc/nginx/conf.d/jenkins.conf
server {
listen 80;
listen [::]:80;
server_tokens off;
server_name your.domain.com;
## Deny illegal Host headers
if ($host !~* ^(your.domain.com)$ ) {
return 444;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
Reiniciar nginx:
sudo systemctl restart nginx
Asignar el A
registro del dominio your.domain.com
a la dirección IP de su servidor y debería poder acceder usando http://your.domain.com
7. Configurando jenkins
La primera vez que acceda al servidor jenkins usando el dominio, aparecerá una pantalla de inicio que le pedirá que desbloquee jenkins con una contraseña de administrador desde esta ruta /var/lib/jenkins/secrets/initialAdminPassword
en el servidor.
Obtén la contraseña escribiendo esto
cat /var/lib/jenkins/secrets/initialAdminPassword
Al ingresar la contraseña, será llevado a la página de instalación del complemento. Tiene la opción de instalar complementos comunes o elegir qué complementos instalar.
Siempre prefiero elegir complementos personalizados que quiero instalar para tener control sobre qué complementos están instalados y cuáles no.
Una vez que finalice la instalación del complemento, será redirigido a una página para crear el primer usuario de Jenkins. Siempre creo un usuario administrador y luego elijo una contraseña segura.
Después de eso, asegúrese de que la URL correcta esté configurada en la última página de la página de configuración de la instancia. Después de esto, será redirigido a la página del panel de jenkins.
Desde aquí puede crear trabajos de jenkins y usar jenkins como lo haría.