Jenkins en Ubuntu: instalación y primer pipeline

Índice de contenido
  1. Instala el runtime compatible
  2. Añade el repositorio LTS
  3. Limita el acceso antes de utilizarlo
  4. Primer pipeline sin secretos
  5. Permisos y plugins
  6. Respaldos y actualizaciones
  7. Preguntas frecuentes
    1. ¿Jenkins instala automáticamente todas las herramientas de mi app?
    2. ¿Ocultar un secret en logs garantiza que no se filtre?
    3. ¿Puedo actualizar plugins todos juntos en producción?
  8. En pocas palabras
  9. Conclusión
  10. Fuentes y documentación

Puedes instalar Jenkins en Ubuntu mediante su repositorio oficial. Revisa primero requisitos de Java y capacidad. La documentación consultada utiliza Java 21 o posterior y una clave de repositorio de 2026; un tutorial que fija Java 17 y una clave anterior requiere actualización.

Practica en una máquina aislada o red privada. El panel y los agentes pueden ejecutar código y acceder a secretos: trátalos como infraestructura administrativa.

Instala el runtime compatible

sudo apt update
sudo apt install fontconfig openjdk-21-jre ca-certificates curl
java -version

Verifica que la distribución y la versión Jenkins elegidas admitan esa combinación. Instalar Java después de un arranque fallido puede requerir revisar o reiniciar el servicio.

Añade el repositorio LTS

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key \
  -o /etc/apt/keyrings/jenkins-keyring.asc
echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" \
  | sudo tee /etc/apt/sources.list.d/jenkins.list >/dev/null
sudo apt update
sudo apt install jenkins
sudo systemctl status jenkins --no-pager

Comprueba la clave vigente al repetir esta instalación en otro momento. No ignores errores de firma ni desactives la validación de paquetes.

Limita el acceso antes de utilizarlo

Consulta la unidad systemd y configura escucha, firewall y proxy según tu diseño. El puerto 8080 no debe quedar accesible a cualquier origen por una regla copiada sin revisión.

Para un laboratorio remoto puede usarse un túnel SSH hacia una interfaz local apropiada. Antes de introducir credenciales, verifica la identidad del servicio y el canal utilizado.

La contraseña inicial se obtiene por el método indicado por Jenkins. No la publiques en capturas o logs y cambia la configuración administrativa durante el asistente.

Primer pipeline sin secretos

Un ejercicio inicial puede usar un repositorio de prueba y un agente preparado. Un Jenkinsfile declarativo sencillo:

pipeline {
  agent any
  stages {
    stage('Comprobar entorno') {
      steps {
        sh 'git --version'
      }
    }
  }
}

El ejemplo solo comprueba una herramienta y no sustituye tests de una aplicación. El agente debe tener Git y una shell compatible. Para un proyecto real, añade la instalación y las pruebas propias.

Permisos y plugins

Instala únicamente plugins necesarios y mantenidos. Cada integración añade código y funciones a un servicio con acceso sensible.

Define quién puede editar jobs, repositorios y credenciales. Un usuario que modifica un pipeline puede influir en el código ejecutado; ocultar una contraseña en la interfaz no elimina todas las vías de exposición.

Respaldos y actualizaciones

Identifica JENKINS_HOME y respalda mediante un procedimiento consistente, protegiendo los datos y claves necesarios para recuperar configuración. Prueba restauración en un entorno separado.

No montes docker.sock en un agente por comodidad sin aceptar su alcance administrativo. Separa cargas y privilegios según el trabajo.

Preguntas frecuentes

¿Jenkins instala automáticamente todas las herramientas de mi app?

No. El agente necesita runtimes y utilidades compatibles, administrados mediante el diseño que elijas.

¿Ocultar un secret en logs garantiza que no se filtre?

No. Limita qué código puede acceder a él y evita transformarlo o imprimirlo. El control de acceso al job es esencial.

¿Puedo actualizar plugins todos juntos en producción?

Planifica compatibilidad, respaldo y recuperación. Una actualización masiva sin prueba dificulta identificar fallos.

En pocas palabras

Jenkins necesita runtime compatible, acceso administrativo protegido y agentes con permisos adecuados. Un pipeline debe ejecutar comprobaciones reales y mantener separados código y secretos.

Conclusión

Prueba el pipeline con un cambio correcto y otro que falle. Añade credenciales y despliegue solo cuando conozcas quién puede modificar el job y qué permisos tendrá su ejecución.

Para continuar, revisa Docker: qué es y cómo usarlo para ejecutar contenedores y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.

Fuentes y documentación

Documentación de www.jenkins.io.

Documentación de www.jenkins.io.

Subir

Descubre más de Sergio Caballero

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Continuar leyendo