Editado 1 Hace una semana por ExtremeHow Equipo Editorial
AutomatizaciónJenkinsCI/CDDevOpsConfiguraciónInstalaciónTuberíasConfiguración del servidorGestión de TrabajosSecuencias de comandos
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.
Antes de comenzar con el proceso de instalación, es esencial asegurarse de que se cumplan ciertos requisitos previos:
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:
sudo apt update sudo apt install openjdk-11-jdk
sudo yum install java-11-openjdk
Una vez que Java esté instalado, confirme la instalación ejecutando lo siguiente:
java -version
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.
Necesita agregar la clave del repositorio Debian de Jenkins al sistema.
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
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
Ahora que se ha agregado el repositorio de Jenkins, puede instalar Jenkins utilizando una herramienta de gestión de paquetes como apt
o yum
.
sudo apt install jenkins
sudo yum install 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.
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.
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.
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.
Configurar el primer usuario administrador es muy importante para la seguridad. Complete los campos requeridos y guarde sus credenciales.
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.
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:
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.
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.
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
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.
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.
Vaya al panel de Jenkins y haga clic en Nuevo Elemento. Elija un proyecto Freestyle para una amplia gama de opciones de configuración.
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.
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.
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.
Puede agregar múltiples pasos de construcción según las necesidades de su proyecto:
Configure las acciones que Jenkins debe realizar después de la construcción, como enviar notificaciones, desplegar paquetes, o archivar artefactos.
Jenkins tiene una gran variedad de complementos que extienden sus capacidades. Aquí hay algunos tipos comunes de integraciones:
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.
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.
Configure Jenkins para distribuir el estado de la construcción a sistemas externos como Slack, HipChat, o correo electrónico.
Implemente monitoreo usando complementos como Nagios, DataDog, o NewRelic para diagnósticos avanzados del sistema y alertas.
Con JUnit, NUnit, TestNG, y otros complementos, Jenkins puede ejecutar y reportar pruebas como parte del proceso de construcción.
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.
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.
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.
Verifique frecuentemente las actualizaciones de Jenkins y sus complementos. Las actualizaciones regulares aseguran que tiene los últimos parches de seguridad y características.
Monitoree CPU, memoria, y E/S para evitar interrupciones que puedan ralentizar o corromper la construcción.
Docker complementa Jenkins al proporcionar un entorno de construcción en contenedores. Su aislamiento asegura que las construcciones sean predecibles y consistentes.
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:
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.
Si la construcción se cuelga o es extremadamente lenta, asegúrese de asignar suficiente CPU, RAM, y espacio en disco.
Asegúrese de que la URL del repositorio, el nombre de la rama, y las credenciales de acceso sean correctos.
Verifique que la configuración de red permita a Jenkins acceder a los servicios requeridos, y valide cualquier configuración de proxy HTTP.
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