Jenkins es una popular herramienta de automatización de código abierto para realizar integración continua y automatización de compilación. 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 Debian 11
- Cómo instalar y configurar Jenkins en FreeBSD 13
- Cómo instalar y configurar Jenkins en Ubuntu 20.04
- Cómo instalar y configurar Jenkins en Fedora 35
Requisitos
- Un sistema Linux con servidor Rocky Linux/CentOS 8 (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:uso de un libro de jugadas de Ansible
1. Asegurarse de que el sistema esté actualizado
Asegúrese de que los paquetes del sistema estén actualizados con este comando:
sudo dnf -y update
A continuación, instalemos paquetes comunes que necesitaremos en nuestro tutorial
sudo dnf install -y curl vim wget
2. Instalar Java
En esta sección, instalaremos Java en nuestro sistema. Usaremos la versión openjdk de java. En Rocky Linux 8, para verificar qué software proporciona la línea de comando java, use el siguiente comando para buscar dnf search jdk
. Como Jenkins usa la versión 11 de Java, no podemos filtrar el resultado usando grep.
# dnf search jdk | grep 11
Last metadata expiration check: 0:03:42 ago on Wed 24 Nov 2021 06:10:29 AM EAT.
java-11-openjdk.x86_64 : OpenJDK 11 Runtime Environment
java-11-openjdk-demo.x86_64 : OpenJDK 11 Demos
java-11-openjdk-devel.x86_64 : OpenJDK 11 Development Environment
java-11-openjdk-headless.x86_64 : OpenJDK 11 Headless Runtime Environment
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK 11 Source Bundle
java-11-openjdk-static-libs.x86_64 : OpenJDK 11 libraries for static linking
Podemos ver que jdk 11 está disponible como java-11-openjdk
. Instálalo usando el comando
sudo dnf install -y java-11-openjdk
Confirme la versión instalada usando este comando:
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Instalar Jenkins
Añadir repositorio jenkins
Jenkins no está incluido en los repositorios de software predeterminados de CentOS. Use los siguientes comandos para agregar e importar la clave GPG para asegurarse de que su software sea legítimo.
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Instalar jenkins
Si aún no está instalado, use este comando para instalar epel-release
. Este repositorio contiene algunas dependencias que nuestro servidor jenkins necesita como daemonize
.
sudo dnf install epel-release
Use el siguiente comando para instalar jenkins
sudo dnf install jenkins
4. Iniciando y habilitando jenkins
Ahora que Jenkins está instalado, comencemos con este comando:
sudo systemctl start jenkins
Para mostrar el estado del servicio de Jenkins, ingrese lo siguiente:
$ sudo systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: active (running) since Wed 2021-11-24 06:23:59 EAT; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 64639 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
Tasks: 37 (limit: 23168)
Memory: 241.4M
CGroup: /system.slice/jenkins.service
└─64645 /etc/alternatives/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins ->
Nov 24 06:23:59 cloudsrv.citizix.com systemd[1]: Starting LSB: Jenkins Automation Server...
Nov 24 06:23:59 cloudsrv.citizix.com jenkins[64639]: Starting Jenkins [ OK ]
Nov 24 06:23:59 cloudsrv.citizix.com systemd[1]: Started LSB: Jenkins Automation Server.
Verifique que el estado sea active (running)
para saber que la instalación fue exitosa.
Para habilitar Jenkins en el arranque, use esto:
sudo systemctl enable jenkins
5. Accediendo al servidor jenkins
Una vez instalado, abra el navegador y navegue hasta jenkins en la url http://127.0.0.1:8080/
. Si está ejecutando en un servidor remoto, reemplace la ip 127.0.0.1
con la ip de ese servidor.
Se le pedirá que proporcione una contraseña inicial que se encuentra en esta ubicación /var/lib/jenkins/secrets/initialAdminPassword
. Consíguelo ejecutando este comando en el servidor.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Desde aquí, elija si desea instalar los complementos recomendados o elija qué desea instalar.
La última página le permitirá establecer una configuración inicial para el usuario que utilizará el servidor jenkins.
6. Opcional:uso de un libro de jugadas de Ansible
Puede utilizar el siguiente libro de jugadas para realizar la misma tarea. Guárdelo en un archivo como install-jenkins.yaml
.
Para ejecutar el libro de jugadas:
- Asegúrese de que ansible esté instalado. Consulte la guía sobre cómo instalar aquí.
- Cree un archivo de hosts con información de conexión
- Ejecute el comando
ansible-playbook -i <hosts-file-path> install-jenkins.yaml -vvv
- name: Install jenkins on centos 8
hosts: jenkins-srv
become: yes
gather_facts: False
tasks:
- name: Install required packages
dnf:
name:
- wget
state: latest
- name: Install java
dnf:
name: java-1.8.0-openjdk-1:1.8.0.275.b01-1.el8_3.x86_64
state: latest
- name: Add jenkins repository
shell: |
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
args:
warn: no
- name: Install jenkins
dnf:
name: jenkins
state: latest
- name: Start jenkins service
systemd:
name: jenkins
state: started
- name: Enable jenkins service
systemd:
name: jenkins
enabled: yes
Conclusión
Logramos instalar Jenkins en el servidor Rocky Linux en esta guía.