Funcionalidad y métodos de instalación de plugins
Jenkins utiliza plugins para ampliar sus capacidades, permitiendo la integración con herramientas de construcción, plataformas en la nube, análisis y despliegues. Esto satisface diversas necesidades ogranizativas o individuales. Existen varios métodos para instalar plugins, cada uno con requisitos de permisos diferentes.
- A través del administrador web: en Gestionar Jenkins -> Gestionar Plugins, seleccionar el plugin deseado y seguir las instrucciones.
- Mediante el comando
install-pluginde Jenkins CLI. - Instalación manual de archivos .hpi: estos paquetes independientes contienen todo el código, recursos e imágenes necesarios para su funcionamiento.
Las dos primeras opciones requieren que el servidor Jenkins acceda al centro de actuailzaciones para descargar metadatos; de lo contrario, se debe recurrir a la instalación manual del archivo .hpi.
Centro de plugins oficial
El centro de plugins (plugins.jenkins.io) ofrece un catálogo de plugins de código abierto desarrollados y mantenidos por la comunidad Jenkins. En esta página se pueden buscar plugins por palabras clave y revisar información como:
- Fecha de la última actualización.
- Tendencia de uso en el tiempo.
- Dependencias con otros plugins.
- Registro de cambios y documentación de uso.
- Enlaces al repositorio de código fuente y página principal del plugin.
Instalación mediante la interfaz web
En el administrador web, navegue a Gestionar Jenkins -> Gestionar Plugins. Desde la pestaña Disponibles, marque el plugin deseado e inicie la instalación. Se recomienda activar la opción Reiniciar Jenkins cuando la instalación se complete y no haya trabajos en ejecución para una transición segura.
Instalación a través de Jenkins CLI
Autenticación por SSH
Primero, genere un par de claves SSH en el servidor cliente y agregue la clave pública al perfil de usuario Jenkins:
$ ssh-keygen -t rsa -f ~/.ssh/jenkins_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Your identification has been saved in ~/.ssh/jenkins_key.
Your public key has been saved in ~/.ssh/jenkins_key.pub.
$ cat ~/.ssh/jenkins_key.pub | ssh user@jenkins-host "cat >> .ssh/authorized_keys"
En Jenkins, configure el puerto SSH en Gestionar Jenkins -> Configuración global de seguridad. Ejemplo de ejecución de un contenedor Docker con Jenkins y mapeo de puertos:
docker run -d \
--name jenkins-ci \
-p 8080:8080 \
-p 2222:22 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
Liste los plugins instalados usando SSH:
$ ssh -i ~/.ssh/jenkins_key -p 2222 user@localhost list-plugins | grep -i "git"
Instale un nuevo plugin y reinicie el servicio:
$ ssh -i ~/.ssh/jenkins_key -p 2222 user@localhost install-plugin blueocean
$ ssh -i ~/.ssh/jenkins_key -p 2222 user@localhost safe-restart
Autenticación por HTTP
Descargue el cliente CLI desde la URL de Jenkins:
$ wget http://jenkins-host:8080/jnlpJars/jenkins-cli.jar
Ejecute comandos con autenticación básica:
$ java -jar jenkins-cli.jar -s http://jenkins-host:8080/ -auth admin:password list-plugins
Script para actualización masiva de plugins
Guarde el siguiente script como update_plugins.sh:
#!/bin/bash
HOST="localhost"
PORT="2222"
USER="admin"
SSH_KEY="$HOME/.ssh/jenkins_key"
OUTDATED_PLUGINS=$(ssh -i "$SSH_KEY" -p "$PORT" "$USER@$HOST" list-plugins | awk '/\)$/ {print $1}')
if [ -n "$OUTDATED_PLUGINS" ]; then
echo "Actualizando plugins: $OUTDATED_PLUGINS"
ssh -i "$SSH_KEY" -p "$PORT" "$USER@$HOST" install-plugin $OUTDATED_PLUGINS
ssh -i "$SSH_KEY" -p "$PORT" "$USER@$HOST" safe-restart
else
echo "Todos los plugins están actualizados."
fi
Ejecute el script con permisos de ejecución:
$ chmod +x update_plugins.sh
$ ./update_plugins.sh
Instalación manual de archivos .hpi
Los plugins se distribuyen como archivos .hpi, los cuales pueden descargarse desde repositorios como mirrors.jenkins.io. Para instalarlos:
- En Gestionar Jenkins -> Gestionar Plugins, vaya a la pestaña Avanzado.
- En la sección Subir plugin, seleccione el archivo .hpi y pulse Subir.
Nota: este método no gestiona automáticamente las dependencias entre plugins, por lo que no es adecuado para paquetes con dependencias complejas.
Plugins recomendados
- Pipeline: para definir flujos de entrega continua como código.
- Blue Ocean: interfaz gráfica moderna para pipelines.
- Pipeline Utility Steps: incluye utilidades como
readJSONpara procesar datos JSON. - Build User Vars: expone variables del usuario que desencadenó la construcción.
- HTTP Request: permite realizar peticiones HTTP desde pipelines.
Solución de problemas comunes
Error de certificado SSL durante la instalación
Si aparece el error PKIX path building failed, cambie la URL del centro de actualizaciones de HTTPS a HTTP en Gestionar Plugins -> Avanzado -> Sitio de actualización, luego reinicie Jenkins.
Descargas lentas de plugins
Use un espejo nacional, como el de la Universidad de Tsinghua: configure la URL https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json en la sección <strong>Sitio de actualización</strong> del administrador de plugins.