CI/CD con GitLab y Jenkins

Introducción: En este artículo explicamos cómo implementar un flujo CI/CD con GitLab y Jenkins sobre Ubuntu 24.04, integrando buenas prácticas de seguridad y automatización para despliegues continuos. También presentamos a Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y soluciones de automatización.
Paso 1 Actualizar Ubuntu 24.04 e instalar dependencias: antes de instalar Jenkins es recomendable actualizar paquetes e instalar Java 17 y herramientas necesarias. Comandos ejemplo en la terminal: sudo apt update; sudo apt install -y openjdk-17-jdk curl gnupg2 apt-transport-https software-properties-common. Jenkins 2.x y 3.x requieren Java 17 para un funcionamiento estable.
Paso 2 Añadir el repositorio de Jenkins y clave GPG: importar la clave y añadir el repositorio oficial para obtener paquetes actualizados. Comandos ejemplo: curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null; echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null. Esto permite que apt reconozca y verifique los paquetes de Jenkins.
Paso 3 Instalar Jenkins: ejecutar actualización de paquetes e instalar Jenkins desde el repositorio. Comandos: sudo apt update; sudo apt install -y jenkins.
Paso 4 Iniciar y habilitar el servicio: una vez instalado iniciar el servicio systemd y activarlo para que arranque al iniciar el servidor. Comandos: sudo systemctl start jenkins; sudo systemctl enable jenkins; sudo systemctl status jenkins. Por defecto Jenkins escucha en el puerto 8080 y la URL típica es http://jenkins-server-ip:8080
Paso 5 Desbloquear Jenkins: en la primera ejecución Jenkins pide la contraseña inicial que se encuentra en el sistema. Obtenerla con: sudo cat /var/lib/jenkins/secrets/initialAdminPassword. Con esa clave se accede al asistente de configuración web.
Paso 6 Instalar plugins recomendados y crear usuario admin: desde la interfaz web es aconsejable elegir instalar plugins recomendados y crear un usuario administrador. Plugins útiles para integración con GitLab incluyen GitLab Plugin, SSH Agent Plugin, GitLab API Plugin y GitLab Hook Plugin. Tras instalar plugins reiniciar Jenkins si se solicita.
Configuración SSH para despliegues sin contraseña: para que Jenkins pueda desplegar en servidores remotos configure autenticación por clave SSH sin contraseña. Generar clave en el nodo Jenkins con: ssh-keygen -t rsa -b 4096 -C jenkins@jenkins-server y copiar la clave pública al servidor de aplicación con: ssh-copy-id user@application-server-ip. Verificar acceso: ssh user@application-server-ip ls -la.
Integración con GitLab y pipelines: cree proyectos en GitLab y utilice webhooks o el plugin de GitLab en Jenkins para lanzar jobs al push o merge request. Un pipeline típico en GitLab CI puede ejecutar pruebas, construir artefactos y notificar a Jenkins o ser orquestado por Jenkinsfile. Mantenga secretos en credenciales seguras y utilice nodos o agentes para cargar builds aislados.
Buenas prácticas de seguridad y operación: mantenga el servidor actualizado, limite acceso al puerto 8080 mediante firewall, habilite HTTPS con un proxy inverso y gestione credenciales con el almacén de Jenkins. Para entornos de producción considere hardening, backups periódicos del directorio JENKINS_HOME y monitorización.
Automatización y servicios profesionales: en Q2BSTUDIO ayudamos a diseñar y desplegar pipelines CI/CD robustos, integrando testing automático, despliegues en la nube y soluciones de orquestación. Ofrecemos servicios de automatización de procesos y desarrollo de aplicaciones a medida que incorporan inteligencia artificial, agentes IA y capacidades de inteligencia de negocio como power bi para empresas.
Servicios complementarios y posicionamiento: además de CI/CD proporcionamos consultoría en ciberseguridad y pentesting para proteger la cadena de entrega, servicios cloud aws y azure para escalabilidad y coste eficiente, y soluciones de inteligencia de negocio y servicios inteligencia de negocio que mejoran la toma de decisiones. Si su organización necesita ia para empresas o agentes IA integrados en procesos de despliegue y operación podemos asesorarle y ejecutar la implantación.
Resumen: implementar CI/CD con GitLab y Jenkins en Ubuntu implica preparar el sistema, añadir el repositorio de Jenkins, instalar y configurar el servicio, asegurar el acceso mediante claves SSH y configurar pipelines que automaticen pruebas y despliegues. Contacte con Q2BSTUDIO para proyectos de software a medida, integración continua, ciberseguridad y servicios cloud para llevar su plataforma al siguiente nivel.
Comentarios