La integración y la entrega sin interrupciones son esenciales para preservar el código de alta calidad y la competitividad en el vertiginoso mundo del desarrollo de software. Jenkins, un potente servidor de automatización, facilita la integración continua (CI) y la entrega continua (CD) con sus trabajos de canalización adaptables, un componente clave cubierto en muchos DevOps Courses. Este enfoque le permite trabajar con varios Jenkins Types, desde trabajos de estilo libre hasta trabajos de canalización más avanzados, transformando las tareas manuales en flujos de trabajo eficientes y automatizados que ahorran tiempo y reducen los errores.

Este blog proporciona una guía completa para configurar y administrar Jenkins Pipeline Jobs, lo que le ayuda a crear un entorno sólido de integración continua/entrega continua que promueva la innovación, la colaboración y la productividad.

Descripción de los trabajos de canalización de Jenkins

Antes de comenzar el proceso de configuración, es importante comprender Jenkins Pipeline Jobs y sus beneficios para la integración continua. Los trabajos de canalización se definen mediante el lenguaje específico de dominio (DSL) de Groovy, a diferencia de los trabajos típicos de Jenkins Freestyle, que requieren varias configuraciones para varias etapas. Esto permite que un archivo Jenkins, controlado por versiones junto con el código fuente, especifique el proceso completo de CI/CD. Jenkins Pipeline ofrece dos variedades:

  • Pipeline declarativo: Adecuado para la mayoría de los usuarios, este formato es más estructurado y fácil de utilizar. Permite a los desarrolladores especificar fases y acciones mediante una sintaxis fácil de entender.
  • Scripted Pipeline: Una estructura más adaptable que permite flujos de trabajo intrincados y únicos. Aunque requiere un mayor dominio de la programación Groovy, este tipo es más poderoso.

Guía paso a paso para configurar trabajos de canalización de Jenkins

Instale Jenkins y configure su entorno

Se requiere la instalación de Jenkins en su computadora o servidor local antes de crear un trabajo de canalización de Jenkins. Para empezar, realice estas acciones:

  • Desde el sitio web oficial de Jenkins, obtenga la instalación de Jenkins.
  • Instale Jenkins ejecutando el instalador manualmente o utilizando la administración de paquetes de su sistema operativo.
  • Después de la instalación, inicie Jenkins y navegue hasta http://localhost:8080 para verlo en su navegador.
  • Instale los complementos recomendados, siga el tutorial de configuración y establezca un usuario administrador.

Verifique que el servidor Jenkins tenga instaladas las herramientas necesarias, incluidas Git, Java y cualquier otra dependencia necesaria para su proyecto.

Instala los plugins necesarios

Las capacidades de Jenkins se pueden expandir a través de un ecosistema vibrante de complementos. Asegúrese de haber instalado los complementos necesarios para crear y administrar trabajos de canalización:

  • Pipeline: Este es el complemento principal que mantiene Jenkins Pipelines en funcionamiento.
  • Git: Necesario para extraer código de fuentes remotas e integrar repositorios de Git.
  • Blue Ocean: Este plugin es opcional pero muy recomendable. Proporciona una experiencia de usuario contemporánea para administrar y visualizar trabajos de Jenkins Pipeline.

Puede instalar los complementos necesarios yendo a Administrar Jenkins > Administrar complementos > disponibles y buscándolos.

Creación de un nuevo trabajo de canalización

Después de instalar Jenkins y los complementos necesarios, puede iniciar un nuevo trabajo de canalización:

  • En el panel de Jenkins, seleccione Nuevo elemento.
  • Asigne un nombre a la tarea y, a continuación, elija Pipeline (Canalización) para el tipo de proyecto.
  • Para pasar a la página de configuración, haga clic en Aceptar.

Defina su canalización en un archivo Jenkins

El archivo Jenkins es el componente central de un trabajo de canalización de Jenkins. El proceso de compilación completo, incluidos pasos como la compilación, la prueba y la implementación, se define en este archivo. La sintaxis declarativa o con scripts se puede usar para escribir el archivo Jenkins, pero en aras de la simplicidad, usaremos la canalización declarativa en este ejemplo:

Defina su canalización en un archivo Jenkins

Este archivo Jenkins es una canalización básica que crea una aplicación, la inicia en un servidor remoto y realiza pruebas en el proyecto Maven. Los procedimientos se pueden modificar para adaptarse a las necesidades de su proyecto.

Agregue el archivo Jenkins a su repositorio

Para incorporar el control de versiones en la canalización de Jenkins, coloque el archivo Jenkins en la raíz del repositorio de código fuente (como GitHub, GitLab o Bitbucket). A continuación, Jenkins puede recuperar la configuración de la canalización directamente desde el repositorio de esta manera:

  • Haz una copia local de tu repositorio.
  • Cree un nuevo archivo en el directorio raíz llamado Jenkinsfile.
  • Guarde el archivo Jenkins después de pegar allí el código de la canalización.
  • Envíe y confirme las modificaciones en su repositorio remoto.

Configurar el archivo Jenkins para el trabajo de canalización

Regrese a Jenkins y configure el trabajo de canalización para utilizar el archivo Jenkins del repositorio:

  • Vaya a la sección Canalización desplazándose hacia abajo en la página de configuración del trabajo de canalización.
  • En SCM, elija el script Pipeline (Canalización).
  • Seleccione Git como SCM y, a continuación, introduzca la URL del repositorio y los detalles de la rama.
  • Guarde la configuración.
  • En este punto, Jenkins ejecutará los pasos de la canalización utilizando el archivo Jenkins extraído del repositorio.

Ejecución y supervisión del trabajo de canalización

Es el momento de ejecutar el trabajo de canalización cuando se haya configurado:

  • Haga clic en Crear ahora en el panel Trabajo de canalización.
  • Jenkins ejecutará las instrucciones especificadas en el archivo Jenkins y recuperará el código del repositorio.

La salida de la consola Jenkins le permite monitorear el estado en tiempo real. Si ha instalado el complemento Blue Ocean, es más sencillo comprender cada etapa y fase de la tubería, ya que presenta la tubería de una manera más atractiva visualmente.

Administración de trabajos de canalización de Jenkins

Uso de parámetros para mayor flexibilidad

Puede agregar parámetros a sus trabajos de canalización de Jenkins para aumentar su flexibilidad. Sin modificar el código, puede alimentar diferentes valores a la canalización a través de parámetros. Para seleccionar el entorno (como Desarrollo, Ensayo o Producción) en el que se implementará el código, por ejemplo, puede agregar el siguiente parámetro:

 canalización {

    agente cualquiera

    parameters {

        choice(nombre: ‘ENV’, opciones: [‘dev’, ‘staging’, ‘prod’], description: ‘Select Environment’)

    }

    etapas {

        Etapas de la canalización aquí

    }

}

Implemente notificaciones y manejo de errores

Una canalización de CI/CD en buen estado depende de un control de errores adecuado. Para manejar los problemas correctamente, use bloques try/catch. También puedes incluir notificaciones para que el equipo sepa cuando se produce un error en una compilación:

stage(‘Prueba’) {

    steps {

        script {

            try {

                sh ‘Prueba MVN’

            } catch (Excepción e) {

                envíe un correo a: ‘team@example.com’, asunto: ‘Error de compilación’, cuerpo: ‘Error de compilación en la etapa de prueba’.

                Lanzar E

            }

        }

    }

}

Manténgase al día con las actualizaciones de su canalización con frecuencia

La canalización de CI/CD de su proyecto debe cambiar a medida que lo hace. Revise y actualice su archivo Jenkins con frecuencia para agregar pasos, instrumentos o procedimientos adicionales según sea necesario. Mantenga su entorno Jenkins actualizado con las últimas versiones y complementos de Jenkins para garantizar un funcionamiento sin problemas.

Conclusión

La calidad del código está garantizada, la colaboración se mejora y su proceso de desarrollo puede automatizarse poderosamente mediante la configuración y el mantenimiento de Jenkins Pipeline Jobs para la integración continua, una práctica comúnmente enseñada por The Knowledge Academy. Puede establecer una canalización de CI/CD confiable que aumente la eficiencia y reduzca los errores siguiendo estos pasos: instalar Jenkins, configurar su archivo Jenkins, conectarse con el control de versiones y administrar de manera eficiente los trabajos de canalización. Recuerde que una canalización de Jenkins claramente definida es el secreto para que los procesos de DevOps y CI/CD sean efectivos.