WindowsMacSoftwareConfiguraciónSeguridadProductividadLinuxAndroidRendimientoConfiguraciónApple Todo

Cómo instalar y configurar Jenkins en Linux

Editado 1 Hace una semana por ExtremeHow Equipo Editorial

AutomatizaciónJenkinsCI/CDDevOpsConfiguraciónInstalaciónTuberíasConfiguración del servidorGestión de TrabajosSecuencias de comandos

Cómo instalar y configurar Jenkins en Linux

Traducción actualizada 1 Hace una semana

Jenkins es un servidor de automatización de código abierto ampliamente utilizado que ayuda en la construcción, implementación y automatización de procesos de software. Cuando se trata de integración y entrega continua (CI/CD), Jenkins es una de las herramientas más populares. Una de las principales ventajas es que Jenkins se puede integrar con muchas tecnologías de pruebas y despliegue. Este documento ofrece una guía completa para instalar y configurar Jenkins en un servidor Linux. Cubriremos todo, desde los requisitos previos, hasta la instalación, y la configuración básica de seguridad.

Requisitos previos

Antes de comenzar con el proceso de instalación, es esencial asegurarse de que se cumplan ciertos requisitos previos:

Instalar Java

Para verificar si Java está instalado y verificar su versión, ejecute el siguiente comando:

java -version

Si Java no está instalado, puede instalarlo usando el siguiente comando según su distribución de Linux:

En Debian/Ubuntu

sudo apt update sudo apt install openjdk-11-jdk

En CentOS/RHEL

sudo yum install java-11-openjdk

Una vez que Java esté instalado, confirme la instalación ejecutando lo siguiente:

java -version

Instalación de Jenkins

Una vez que Java esté activo y funcionando, el siguiente paso es instalar Jenkins. Jenkins proporciona un repositorio para todas las distribuciones de Linux, haciendo que el proceso de instalación sea sencillo.

Paso 1: Agregar la clave y el repositorio de Jenkins

Necesita agregar la clave del repositorio Debian de Jenkins al sistema.

En Debian/Ubuntu

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update

En CentOS/RHEL

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

Paso 2: Instalar Jenkins

Ahora que se ha agregado el repositorio de Jenkins, puede instalar Jenkins utilizando una herramienta de gestión de paquetes como apt o yum.

En Debian/Ubuntu

sudo apt install jenkins

En CentOS/RHEL

sudo yum install jenkins

Paso 3: Iniciar y habilitar el servicio Jenkins

Una vez que Jenkins esté instalado, puede iniciarlo y habilitarlo para que inicie automáticamente al arrancar.

sudo systemctl start jenkins sudo systemctl enable jenkins

Para asegurarse de que Jenkins está en ejecución, verifique su estado:

sudo systemctl status jenkins

Después de ejecutar Jenkins, el siguiente paso es configurarlo.

Configuración de Jenkins

Paso 1: Acceder a Jenkins a través de la interfaz web

Jenkins se puede acceder a través de un navegador web. Por defecto, se ejecuta en el puerto 8080. Abra el navegador y vaya a:

http://localhost:8080

Si está trabajando de forma remota, reemplace localhost con la dirección IP de su servidor.

Paso 2: Desbloquear Jenkins

Cuando se ejecuta por primera vez, Jenkins muestra una página que le pide que desbloquee Jenkins utilizando la contraseña inicial.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Copie la contraseña y péguela en el campo "Contraseña del Administrador", luego haga clic en Continuar.

Paso 3: Personalizar Jenkins

Puede instalar los complementos sugeridos para Jenkins o elegir complementos específicos. Inicialmente, se recomienda elegir la opción "Instalar complementos sugeridos" para agregar complementos comúnmente utilizados, pero puede personalizarlos más adelante.

Paso 4: Crear un usuario administrador

Configurar el primer usuario administrador es muy importante para la seguridad. Complete los campos requeridos y guarde sus credenciales.

Paso 5: Configurar ajustes del sistema

Después de la configuración inicial, vaya a Administrar Jenkins > Configurar el Sistema. Aquí, puede ajustar configuraciones como ejecutores, nodos y mensajes del sistema.

Configuración de seguridad

Asegurar Jenkins es un paso crucial, ya que es un punto crítico en su pipeline CI/CD. A continuación se presentan algunos pasos de seguridad esenciales que deben implementarse:

Habilitar protección CSRF

La protección contra tokens de falsificación de solicitudes entre sitios (CSRF) es importante. Asegúrese de que "Prevenir exploits de falsificación de solicitudes entre sitios" esté marcado en Administrar Jenkins > Configurar Seguridad Global.

Configurar control de acceso basado en roles

Una forma efectiva de gestionar los permisos de usuario es a través del control de acceso basado en roles. Puede lograr esto instalando el complemento Role Strategy.

Usar HTTPS

Para asegurar las comunicaciones entre el servidor Jenkins y sus usuarios, configure Jenkins para usar HTTPS. Necesitará un certificado SSL válido, que puede obtenerse de forma gratuita con Let's Encrypt o comprarse a una autoridad de certificación (CA).

keytool -import -alias jenkins -file your_ssl_certificate.crt -keystore /path/to/your/certificate/store

Habilitar el registro de seguridad

Jenkins le permite monitorear actividades de usuario a través de registros de seguridad. Esto puede ayudar a solucionar problemas de seguridad u observar actividades sospechosas.

Configuración de Jenkins para proyectos

Una vez que su servidor Jenkins esté configurado y asegurado, el siguiente paso lógico es configurarlo para construir e implementar sus proyectos. Jenkins ofrece una integración perfecta con sistemas de control de versiones como GitHub, Git, SVN, y otros.

Paso 1: Crear un nuevo trabajo

Vaya al panel de Jenkins y haga clic en Nuevo Elemento. Elija un proyecto Freestyle para una amplia gama de opciones de configuración.

Paso 2: Configurar gestión de código fuente

Configure el sistema de control de versiones bajo Gestión de Código Fuente. Para Git, especifique la URL del repositorio y las credenciales requeridas.

Paso 3: Configurar disparadores de construcción

Jenkins le permite automatizar construcciones usando disparadores. Estos pueden ser programados o configurados para ejecutarse cuando se detecta un cambio en su sistema de control de versiones.

Paso 4: Configurar el entorno de construcción

Puede especificar el entorno de construcción, como scripts que deben ejecutarse antes o después del proceso de construcción. Esto puede incluir configurar rutas, limpiar directorios, u otros pasos preliminares.

Paso 5: Agregar el paso de construcción

Puede agregar múltiples pasos de construcción según las necesidades de su proyecto:

Paso 6: Acciones posteriores a la construcción

Configure las acciones que Jenkins debe realizar después de la construcción, como enviar notificaciones, desplegar paquetes, o archivar artefactos.

Integraciones y complementos

Jenkins tiene una gran variedad de complementos que extienden sus capacidades. Aquí hay algunos tipos comunes de integraciones:

Complementos SCM

Estos complementos soportan la interacción con varios sistemas de control de versiones como Git, Subversion, Mercurial, etc. Instálelos en Administrar Jenkins > Gestionar Complementos.

Herramientas de construcción

Integre con Apache Maven, Gradle y Ant usando complementos específicos de herramientas de construcción. Estos agilizan su ciclo de vida de construcción.

Complementos de notificación

Configure Jenkins para distribuir el estado de la construcción a sistemas externos como Slack, HipChat, o correo electrónico.

Herramientas de monitoreo

Implemente monitoreo usando complementos como Nagios, DataDog, o NewRelic para diagnósticos avanzados del sistema y alertas.

Marco de pruebas

Con JUnit, NUnit, TestNG, y otros complementos, Jenkins puede ejecutar y reportar pruebas como parte del proceso de construcción.

Mejores prácticas para la administración de Jenkins

Administrar instancias de Jenkins implica asegurarse de que los procesos estén optimizados y sean eficientes, y que la fiabilidad del sistema sea siempre una prioridad.

Usar canalizaciones en lugar de proyectos freestyle

Las canalizaciones escritas en Groovy proporcionan más flexibilidad y control sobre la construcción. Soportan estructuras de trabajos complejas, parametrización, y configuración más detallada de trabajos.

Implementar una estrategia de respaldo

Asegúrese de realizar copias de seguridad regularmente del directorio /var/lib/jenkins para preservar la configuración del sistema y los datos históricos de trabajos.

Actualizar Jenkins y complementos regularmente

Verifique frecuentemente las actualizaciones de Jenkins y sus complementos. Las actualizaciones regulares aseguran que tiene los últimos parches de seguridad y características.

Monitor de recursos

Monitoree CPU, memoria, y E/S para evitar interrupciones que puedan ralentizar o corromper la construcción.

Usar Docker para aislamiento

Docker complementa Jenkins al proporcionar un entorno de construcción en contenedores. Su aislamiento asegura que las construcciones sean predecibles y consistentes.

Solución de problemas de Jenkins

Cuanto más grande sea su infraestructura de Jenkins, más probabilidades tendrá de encontrar problemas. Aquí hay formas de resolver problemas comunes de Jenkins:

Revisar los registros

Los registros son su primera línea de información al solucionar problemas. Verifique el archivo /var/log/jenkins/jenkins.log en busca de mensajes de error o advertencias.

Recursos insuficientes

Si la construcción se cuelga o es extremadamente lenta, asegúrese de asignar suficiente CPU, RAM, y espacio en disco.

Error en la configuración de Git/SCM

Asegúrese de que la URL del repositorio, el nombre de la rama, y las credenciales de acceso sean correctos.

Problemas de red

Verifique que la configuración de red permita a Jenkins acceder a los servicios requeridos, y valide cualquier configuración de proxy HTTP.

Conclusión

Esta guía ha proporcionado una mirada integral sobre cómo instalar y configurar Jenkins para su uso óptimo en sistemas Linux. Desde la instalación y seguridad hasta las mejores prácticas, este tutorial ha cubierto varios aspectos importantes para aprovechar al máximo el potencial de Jenkins. Con estos elementos esenciales, sus iniciativas de desarrollo e implementación de software pueden volverse más eficientes y flexibles. Recuerde, el poder de Jenkins aumenta significativamente cuando se adapta a las necesidades específicas de su proyecto mediante su extenso sistema de complementos y configuración personalizable.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios