Introducción
Jenkins es un servidor de automatización de código abierto que puede ayudarlo con la integración continua y la entrega continua (CI/ CD) de sus proyectos de software. CI/ CD es un proceso que le permite construir, probar e implementar su código más rápido y más confiable mediante la automatización de varias tareas y etapas. Jenkins se puede utilizar como un servidor CI simple o como un centro de CD complejo para cualquier proyecto.
Jenkins ofrece muchas características atractivas para los desarrolladores, como:
- Es libre y de código abierto, con una gran y activa comunidad de colaboradores y usuarios.
- Es fácil de instalar y configurar, con una interfaz basada en web y ayuda integrada.
- Soporta cientos de plugins que se integran con varias herramientas y tecnologías en la cadena de herramientas CI/CD.
- Es extensible, lo que le permite personalizar y extender su funcionalidad a través de su arquitectura de plugin.
- Se distribuye, lo que le permite escalar sus compilaciones, pruebas e implementaciones en varias máquinas y plataformas.
Sin embargo, Jenkins no es la única opción para CI/CD. Hay muchas otras herramientas que ofrecen características y capacidades similares o diferentes. Algunas de las alternativas a Jenkins son:
- GitLab: Una plataforma basada en la web que proporciona una solución completa de ciclo de vida de DevOps, incluyendo la gestión de código fuente, CI/CD, seguridad, monitoreo, etc.
- JIRA: Una herramienta de gestión de proyectos que se integra con varias herramientas de CI/CD como Bamboo, Bitbucket Pipelines, etc.
- FinalBuilder: Una herramienta gráfica de automatización de compilación que soporta varios lenguajes de scripting, compiladores, herramientas de prueba, etc.
- CruiseControl: Un marco para crear sistemas de CI personalizados que pueden ejecutarse en cualquier plataforma.
- Integridad: Un servidor CI ligero que se ejecuta en Ruby on Rails y se integra con GitHub.
- Urbancode: Una herramienta de nivel empresarial que proporciona automatización de extremo a extremo para la entrega de aplicaciones.
- Autorabit: Una herramienta basada en la nube que se especializa en el desarrollo e implementación de Salesforce.
- CircleCI: Una herramienta nativa de la nube que ofrece tuberías CI/CD rápidas y escalables.
- Buildkite: Una herramienta híbrida que combina la orquestación basada en la nube con agentes auto-alojados.
Descargar Jenkins
Para usar Jenkins, necesitas descargarlo desde su sitio web oficial. Hay diferentes paquetes y plataformas disponibles para Jenkins, dependiendo de sus necesidades y preferencias. Estos son los pasos para descargar Jenkins desde el sitio web oficial:
- Vaya a la página de descarga Jenkins y seleccione la plataforma que se adapte a sus necesidades. Puede elegir entre Windows, Linux, macOS, Docker, Kubernetes y otras opciones.
- Dependiendo de su plataforma, verá diferentes paquetes y formatos disponibles para Jenkins. Por ejemplo, para Windows, puede descargar el instalador de Jenkins como un archivo . msi, o como un paquete genérico de Java como un archivo . war. Para Linux, puede descargar Jenkins como un paquete . deb o . rpm, o como una imagen Docker.
- Haga clic en el paquete o formato que desea descargar y guárdelo en su máquina local. También puede copiar el enlace directo o el comando para descargar Jenkins desde el terminal.
- Opcionalmente, puede verificar la descarga de Jenkins comprobando su suma de verificación SHA-256. Puede encontrar la suma de verificación para cada paquete o formato en la página de descarga. Puede utilizar una herramienta como 7-Zip o WinMD5 para calcular y comparar la suma de comprobación de su archivo descargado.
Felicidades, has descargado correctamente Jenkins! Ahora estás listo para instalarlo y empezar a usarlo.
Instalación de Jenkins
Instalación de Jenkins en Windows usando el instalador
Si ha descargado el instalador de Jenkins como archivo . msi, puede seguir estos pasos para instalar Jenkins en Windows:
- Localice el archivo jenkins.msi que ha descargado y haga doble clic en él para iniciar el instalador.
- Verá una pantalla de bienvenida que le pide que elija la ubicación donde desea instalar Jenkins. Puede aceptar la ubicación predeterminada o navegar a una diferente. Haga clic en Siguiente para continuar.
- Verá una pantalla que le pide que elija el número de puerto para la interfaz web de Jenkins. El puerto predeterminado es 8080, pero puede cambiarlo si lo desea. Haga clic en Siguiente para continuar.
- Verá una pantalla que le pide que elija si desea ejecutar Jenkins como un servicio o no. Ejecutar Jenkins como servicio significa que se iniciará automáticamente cuando su máquina arranque. Se recomienda ejecutar Jenkins como servicio por razones de comodidad y seguridad. Haga clic en Siguiente para continuar.
- Verá una pantalla que le pide que elija si desea instalar herramientas adicionales para Jenkins o no. Estas herramientas incluyen Java Development Kit (JDK), Git, Maven, etc. Puede omitir este paso si ya tiene estas herramientas instaladas en su máquina o si no las necesita para sus proyectos. Haga clic en Siguiente para continuar.
- Verá una pantalla que muestra el progreso de la instalación. Espere a que termine y haga clic en Finalizar para salir del instalador.
Felicidades, que ha instalado con éxito Jenkins en Windows utilizando el instalador! Ahora puede acceder a la interfaz web de Jenkins y completar el asistente de configuración inicial.
Instalación de Jenkins en Linux usando el gestor de paquetes
Si ha descargado Jenkins como un paquete . deb o . rpm, puede seguir estos pasos para instalar Jenkins en Linux usando el administrador de paquetes:
- Si ha descargado un paquete . deb, ejecute el siguiente comando para instalar Jenkins:
sudo dpkg -i jenkins.deb
- Si ha descargado un paquete . rpm, ejecute el siguiente comando para instalar Jenkins:
sudo rpm -ivh jenkins.rpm
- El proceso de instalación creará un usuario y un grupo llamado jenkins e iniciará el servicio Jenkins automáticamente.
Felicidades, ha instalado Jenkins con éxito en Linux usando el administrador de paquetes! Ahora puede acceder a la interfaz web de Jenkins y completar el asistente de configuración inicial.
Instalación de Jenkins en Docker usando la imagen
Si ha descargado Jenkins como una imagen Docker, puede seguir estos pasos para instalar Jenkins en Docker usando la imagen:
- Abra una ventana de terminal y asegúrese de que Docker se está ejecutando en su máquina.
- Tire de la última versión de la imagen de Jenkins desde Docker Hub ejecutando el siguiente comando:
docker pull jenkins/jenkins
- Cree un contenedor desde la imagen ejecutando el siguiente comando:
docker run -d -p 8080:8080 - p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins
- El comando creará un contenedor llamado jenkins, mapeará el puerto 8080 del contenedor al puerto 8080 del host, mapeará el puerto 50000 del contenedor al puerto 50000 del host y montará un volumen llamado jenkins_home para almacenar los datos de Jenkins.
- Puede comprobar el estado del contenedor ejecutando el siguiente comando:
docker ps -a
Felicidades, que ha instalado con éxito Jenkins en Docker utilizando la imagen! Ahora puede acceder a la interfaz web de Jenkins y completar el asistente de configuración inicial.
Configuración de Jenkins
- Si ha instalado Jenkins en Windows usando el instalador, puede encontrar la contraseña en el archivo
C: Archivos de programa (x86) Jenkins secrets initialAdminPassword
- Si ha instalado Jenkins en Linux usando el gestor de paquetes, puede encontrar la contraseña en el archivo
/var/lib/jenkins/secrets/initialAdminPassword
- Si ha instalado Jenkins en Docker usando la imagen, puede encontrar la contraseña ejecutando el siguiente comando:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Copie y pegue la contraseña en el cuadro de texto y haga clic en Continuar. Verá una pantalla que le pide que personalice Jenkins instalando plugins sugeridos o seleccionando plugins para instalar. Puede elegir cualquiera de las opciones en función de sus necesidades y preferencias. Los plugins sugeridos incluyen algunos de los plugins más comunes y útiles para Jenkins, como Git, Pipeline, GitHub, etc. También puede instalar más plugins más tarde desde la sección Administrar Jenkins.
Después de instalar los plugins, verá una pantalla que le pide que cree un usuario administrador para Jenkins. Puede introducir su nombre de usuario, contraseña, nombre completo y dirección de correo electrónico para este usuario. Alternativamente, puede omitir este paso y continuar como administrador usando la contraseña inicial. Sin embargo, se recomienda crear un usuario de administración independiente por razones de seguridad.
Después de crear un usuario administrador, verá una pantalla que muestra la URL de su instancia de Jenkins. Puede copiar esta URL y guardarla para referencia futura. También puede cambiar esta URL más tarde desde la sección Administrar Jenkins.
Felicidades, ha configurado correctamente Jenkins! Ahora está listo para crear y administrar usuarios y permisos en Jenkins.
Crear y administrar usuarios y permisos en Jenkins
- Vaya a la sección Administrar Jenkins desde la barra lateral izquierda de su interfaz web de Jenkins.
- Haga clic en Administrar usuarios en Seguridad.
- Verá una lista de usuarios existentes en su instancia de Jenkins. Puede editar o eliminar cualquier usuario haciendo clic en su nombre o los iconos correspondientes.
- Para crear un nuevo usuario, haga clic en Crear usuario en el lado izquierdo de la pantalla.
- Introduzca un nombre de usuario, contraseña, nombre completo y dirección de correo electrónico para este usuario. Opcionalmente, también puede introducir una descripción para este usuario.
- Haga clic en Crear usuario para guardar este usuario.
- Para asignar roles y permisos a este usuario, vuelva a la sección Administrar Jenkins y haga clic en Configurar seguridad global en Seguridad.
- En Autorización, seleccione una de las siguientes opciones:
- Cualquiera puede hacer cualquier cosa: Esta opción permite a cualquiera acceder y realizar cualquier acción en su instancia de Jenkins sin autenticación. Esta opción no se recomienda por razones de seguridad.
- Modo heredado: Esta opción permite a cualquiera leer cualquier cosa en su instancia de Jenkins sin autenticación, pero solo los usuarios autenticados pueden realizar cualquier acción. Esta opción está obsoleta y no se recomienda por razones de seguridad.
- Los usuarios registrados pueden hacer cualquier cosa: Esta opción solo permite a los usuarios autenticados acceder y realizar cualquier acción en su instancia de Jenkins. Esta opción es adecuada para equipos pequeños o uso personal.
- Seguridad basada en matrices: Esta opción le permite definir permisos específicos para cada usuario o grupo en su instancia de Jenkins. Esta opción es adecuada para equipos grandes o escenarios complejos.
- Project-based Matrix Authorization Strategy: Esta opción le permite definir permisos específicos para cada usuario o grupo en cada proyecto o canalización en su instancia de Jenkins. Esta opción es adecuada para el control granular y la flexibilidad.
- Haga clic en Guardar para aplicar sus cambios.
Felicidades, usted ha creado y administrado con éxito los usuarios y permisos en Jenkins! Ahora está listo para instalar y actualizar plugins en Jenkins.
Instalación y actualización de plugins en Jenkins
Jenkins soporta cientos de plugins que se integran con varias herramientas y tecnologías en la cadena de herramientas CI/CD. Los plugins pueden mejorar la funcionalidad y usabilidad de Jenkins añadiendo nuevas características, opciones, interfaces, etc. Para instalar y actualizar plugins en Jenkins, siga estos pasos:
- Vaya a la sección Administrar Jenkins desde la barra lateral izquierda de su interfaz web de Jenkins.
- Haga clic en Administrar plugins en Configuración del sistema.
- Verás cuatro pestañas: Actualizaciones, Disponible, Instalado y Avanzado. Puedes usar estas pestañas para administrar tus plugins.
- Para instalar nuevos plugins, vaya a la pestaña Disponible y busque los plugins que desea instalar. También puede filtrar los plugins por categoría o estado. Marque las casillas junto a los plugins que desea instalar y haga clic en Descargar ahora e instalar después de reiniciar en la parte inferior de la página. Jenkins descargará los plugins e los instalará después de reiniciar su instancia.
- Para actualizar plugins existentes, vaya a la pestaña Actualizaciones y compruebe si hay actualizaciones disponibles para sus plugins instalados. También puede filtrar los plugins por categoría o estado. Marque las casillas junto a los plugins que desea actualizar y haga clic en Descargar ahora e instalar después de reiniciar en la parte inferior de la página. Jenkins descargará las actualizaciones e las instalará después de reiniciar su instancia.
- Para configurar los ajustes avanzados de tus plugins, ve a la pestaña Avanzado y usa las opciones disponibles allí. Puede cargar un plugin desde su máquina local, especificar un servidor proxy para descargar plugins, cambiar la URL del sitio de actualización, etc.
- Después de instalar, actualizar o desinstalar cualquier plugin, debe reiniciar la instancia de Jenkins para que los cambios surtan efecto. Puede hacer esto haciendo clic en Reiniciar Jenkins cuando no se están ejecutando trabajos en la parte inferior de ninguna pestaña.
Felicidades, que ha instalado con éxito y actualizado los plugins en Jenkins! Ahora está listo para crear y ejecutar una canalización simple en Jenkins.
Usando Jenkins
Jenkins le permite crear y ejecutar tuberías que automatizan varias etapas de su ciclo de vida de desarrollo de software. Una canalización es una secuencia de pasos que realizan tareas como la construcción, prueba, implementación, etc. Puede crear canalizaciones utilizando una interfaz gráfica de usuario (GUI) o un enfoque basado en código. En esta sección, cubriremos cómo crear y ejecutar una canalización simple en Jenkins usando ambos métodos.
Crear y ejecutar una canalización simple en Jenkins usando la GUI
Si prefiere usar una interfaz gráfica de usuario para crear sus tuberías, puede seguir estos pasos:
- Vaya al panel de control de su interfaz web Jenkins y haga clic en Nuevo artículo en la barra lateral izquierda.
- Introduzca un nombre para su canalización y seleccione Canalización como tipo de elemento. Haga clic en Aceptar para crear su canalización.
- Verá una página de configuración donde puede definir varias configuraciones para su canalización. En General, puede introducir una descripción para su canalización, habilitar o deshabilitar opciones como Descartar compilaciones antiguas, Deshabilitar este proyecto, etc.
- En Disparadores de compilación, puede especificar cuándo y cómo desea que se active la canalización. Puede elegir entre varias opciones como Construir periódicamente, Construir después de que se construyan otros proyectos, Sondear SCM, etc.
- Seleccione su sistema SCM desde el menú desplegable de SCM e introduzca la URL del repositorio donde se almacena el script de canalización. También puede introducir credenciales, nombre de rama, ruta de script, etc.
- Haga clic en Guardar para guardar la configuración de la canalización.
- Para ejecutar la canalización, vaya al panel de control y haga clic en el nombre de la canalización. Verá una página donde puede ver el estado y los detalles de su canalización. Haga clic en Construir ahora en la barra lateral izquierda para iniciar su canalización.
- Verá una barra de progreso y una salida de consola que muestra la ejecución de los pasos de la canalización. También puede hacer clic en el icono de vista del escenario en la barra lateral izquierda para ver una representación gráfica de las etapas de la canalización.
- Cuando se complete la canalización, verá un resumen de los resultados y los artefactos producidos por la canalización. También puedes hacer clic en cualquier número de compilación en la barra lateral izquierda para ver más detalles sobre esa compilación.
Felicidades, usted ha creado con éxito y ejecutar una canalización simple en Jenkins utilizando la interfaz gráfica de usuario! Ahora puede modificar y mejorar su tubería según sus requisitos.
Crear y ejecutar una canalización simple en Jenkins usando el código
Si prefiere usar un enfoque basado en código para crear sus tuberías, puede seguir estos pasos:
- Cree un archivo llamado Jenkinsfile y escriba su script de canalización usando la sintaxis Groovy. Un Jenkinsfile es un archivo de texto que contiene la definición de su canalización. Puede usar varias directivas, pasos y parámetros para definir las etapas y acciones de la canalización. Por ejemplo, aquí hay un sencillo Jenkinsfile que construye y prueba un proyecto Java usando Maven:
pipeline agent any stages stage('Build') steps sh 'mvn clean package' stage('Test') steps sh 'mvn test'
- Vaya al panel de control de su interfaz web Jenkins y haga clic en Nuevo artículo en la barra lateral izquierda.
- Introduzca un nombre para su canalización y seleccione Canalización como tipo de elemento. Haga clic en Aceptar para crear su canalización.
- Verá una página de configuración donde puede definir varias configuraciones para su canalización. En General, puede introducir una descripción para su canalización, habilitar o deshabilitar opciones como Descartar compilaciones antiguas, Deshabilitar este proyecto, etc.
- En Disparadores de compilación, puede especificar cuándo y cómo desea que se active la canalización. Puede elegir entre varias opciones como Construir periódicamente, Construir después de que se construyan otros proyectos, Sondear SCM, etc.
- En Pipeline, puede definir el origen de su script de canalización. Haga clic en Script de canalización desde SCM en Definition. Esta opción le permite cargar el script de canalización desde un sistema SCM.
- Seleccione su sistema SCM desde el menú desplegable de SCM e introduzca la URL del repositorio donde se almacena su Jenkinsfile. También puede introducir credenciales, nombre de rama, ruta de script, etc.
- Haga clic en Guardar para guardar la configuración de la canalización.
- Para ejecutar la canalización, vaya al panel de control y haga clic en el nombre de la canalización. Verá una página donde puede ver el estado y los detalles de su canalización. Haga clic en Construir ahora en la barra lateral izquierda para iniciar su canalización.
- Verá una barra de progreso y una salida de consola que muestra la ejecución de su script de canalización. También puede hacer clic en el icono de vista del escenario en la barra lateral izquierda para ver una representación gráfica de las etapas de la canalización.
- Cuando se complete la canalización, verá un resumen de los resultados y los artefactos producidos por la canalización. También puedes hacer clic en cualquier número de compilación en la barra lateral izquierda para ver más detalles sobre esa compilación.
Conclusión
En este artículo, hemos aprendido cómo descargar, instalar, configurar y usar Jenkins para CI/CD. También hemos aprendido cómo crear y ejecutar tuberías simples en Jenkins utilizando una interfaz gráfica de usuario o un enfoque basado en código. También hemos visto algunas de las características, beneficios y alternativas de Jenkins.
Jenkins es una herramienta potente y versátil que puede ayudarle a automatizar varias tareas y etapas de su ciclo de vida de desarrollo de software. Puede integrarse con varias herramientas y tecnologías en la cadena de herramientas de CI/CD y proporcionarle retroalimentación rápida y confiable. También puede escalar para manejar proyectos complejos y a gran escala con facilidad.
Sin embargo, Jenkins no está exenta de desafíos y limitaciones. Requiere cierta curva de aprendizaje y esfuerzo de mantenimiento para configurarlo y usarlo de manera efectiva. También tiene algunos problemas de seguridad y rendimiento que deben abordarse cuidadosamente. Además, puede que no se adapte a las necesidades o preferencias de cada proyecto o equipo.
Por lo tanto, es importante evaluar los requisitos y objetivos de su proyecto y elegir la mejor herramienta para sus necesidades de CI/ CD. También puede comparar y contrastar Jenkins con otras herramientas y ver cuál se ajusta mejor a sus necesidades.
Esperamos que este artículo le haya dado una buena visión general y comprensión de Jenkins y cómo usarlo para CI/ CD. Si tiene alguna pregunta o comentario, no dude en dejar un comentario a continuación. Nos encantaría saber de usted y ayudarlo con sus consultas.
Preguntas frecuentes
Estas son algunas de las preguntas más frecuentes sobre Jenkins y CI/CD:
Cuál es la diferencia entre Jenkins y Jenkins X?
Cómo puedo hacer copias de seguridad y restaurar mis datos de Jenkins?
Jenkins almacena sus datos en un directorio llamado JENKINS_HOME, que contiene los archivos de configuración, plugins, trabajos, registros, etc. Puede realizar copias de seguridad y restaurar sus datos de Jenkins copiando o archivando este directorio en una ubicación segura. También puede utilizar plugins como ThinBackup o Credenciales Plugin o Secretos Plugin.
- Actualice su núcleo de Jenkins y plugins regularmente para corregir cualquier vulnerabilidad de seguridad.
Cómo puedo optimizar el rendimiento de mi instancia de Jenkins?
Jenkins ofrece varias opciones y características para mejorar el rendimiento de su instancia. Algunas de las mejores prácticas para optimizar el rendimiento de Jenkins son:
- Asigne suficientes recursos (CPU, memoria, espacio en disco, etc.) para su instancia de Jenkins y sus agentes.
- Distribuya su carga de trabajo entre varios agentes utilizando etiquetas, equilibradores de carga, etc.
Cómo puedo aprender más sobre Jenkins y CI/CD?
Jenkins proporciona varios recursos y documentación para ayudarle a aprender más sobre sus características y capacidades. Algunos de los recursos útiles son:
- Jenkins Pipeline Documentation: Una guía detallada que explica cómo crear y ejecutar tuberías en Jenkins utilizando una interfaz gráfica de usuario o un enfoque basado en código.
- Jenkins Blog: Un blog que presenta noticias, actualizaciones, consejos, tutoriales, estudios de casos, etc. sobre Jenkins y CI/CD.
- Comunidad de Jenkins: Una comunidad formada por usuarios, desarrolladores, colaboradores, defensores, etc. que comparten su conocimiento y experiencia sobre Jenkins y CI/CD.
- Jenkins Learning Resources: Una colección de libros, cursos, videos, podcasts, webinars, etc. que puede ayudarle a aprender más sobre Jenkins y CI/CD.
17b9afdd22