HEADER_lecciones_de_software

Pipeline en Jenkins para un microservicio Java -Etapa Build

por Juan Felipe Becerra, el 26 de mayo de 2020

Construcción de una pipeline en Jenkins para un microservicio Java

Para realizar esta Lección se debe tener lista la configuración inicial de Jenkins, sigue los pasos que te proporcionamos en la Lección Cómo instalar Jenkins utilizando Docker, que se enfoca en los ajustes previos para poder empezar utilizar Jenkins.

En esta primera parte realizaremos la Construcción de una pipeline en Jenkins para un microservicio Java, Stage: Build. 

Jenkins es un servidor de integración continua, gratuito, open-source y actualmente uno de los más empleados para esta función. Además es muy fácil de utilizar.

La base de Jenkins son las tareas, donde indicamos qué es lo que hay que hacer en un build. Por ejemplo, podríamos programar una tarea en la que se compruebe el repositorio de control de versiones cada cierto tiempo, y cuando un desarrollador quiera subir su código al control de versiones, este se compile y se ejecuten las pruebas.

Si el resultado no es el esperado o hay algún error, Jenkins notificará al desarrollador, al equipo de QA, por email o cualquier otro medio, para que lo solucione. Si el build es correcto, podremos indicar a Jenkins que intente integrar el código y subirlo al repositorio de control de versiones.

Stage: Build

Para empezar a trabajar con Jenkins con un proyecto de tipo Java + Spring Boot + JUnit, es necesario realizar las siguientes parametrizaciones en la herramienta:

1. Instalar plugin de Maven para compilar y realizar pruebas unitarias descritas en un pipeline.

Construcción de una pipeline en Jenkins para un microservicio Java 1

Haz clic en “Administración Jenkins” y después en “Global Tool Configuration”

Construcción de una pipeline en Jenkins para un microservicio Java 2


En la información que se despliega busca la sección “Maven” y agrega el plugin a su versión más reciente.

2. Creación de credenciales del repositorio donde se encuentra el código fuente. Para acceder a través de un Pipeline.

Construcción de una pipeline en Jenkins para un microservicio Java 3

Haz clic en “Administración Jenkins” y después en “Credentials”

Construcción de una pipeline en Jenkins para un microservicio Java 4

Haz clic en “Jenkins” y después en “Global credentials”

Construcción de una pipeline en Jenkins para un microservicio Java 5

Construcción de una pipeline en Jenkins para un microservicio Java 6

Realiza el registro de una credencial que se usará en el Pipeline definido para el proceso de integración continua del código proporcionado para la práctica.

username: Usuario de acceso del repositorio (GitLab, GitHub, etc).
password: Contraseña de acceso del repositorio (GitLab, GitHub, etc).

Terminadas las configuraciones previamente requeridas, podrás proceder a la elaboración de una tarea de integración continua con jenkins.

Construcción de una pipeline en Jenkins para un microservicio Java 7

Haz clic en “Nueva tarea”


Construcción de una pipeline en Jenkins para un microservicio Java 8

Define el nombre de la tarea nueva y elige el tipo de tarea, en este caso realizaremos un Pipeline.

Construcción de una pipeline en Jenkins para un microservicio Java 9

Describe la función del Pipeline en la “Descripción” y da clic en “Guardar”

Construcción de una pipeline en Jenkins para un microservicio Java 10

Construcción de una pipeline en Jenkins para un microservicio Java 11

Ahora en el panel de tareas podrás ver la tarea que acabas de crear.


Empezarás desde cero con un habitual “Hello World” para ir conociendo la herramienta.

Construcción de una pipeline en Jenkins para un microservicio Java 12

Ahora sí podrás a construir la Pipeline que ejecutará la compilación del proyecto que se proporcionó. En caso de que requieras conocer las características más específicas de la sintaxis que tiene la construcción de un Pipeline, puedes ver la documentación oficial de la herramienta.

1. Se define la herramienta de Maven para la compilación del proyecto como instrucción dentro de la Pipeline. Asociando la tarea a la configuración de Maven en jenkins.

Construcción de una pipeline en Jenkins para un microservicio Java 13


pipeline {
       agent any
       tools {
                 maven 'maven-tool'
     }   
}

2. Se creará el script con las credenciales de acceso al repositorio de Git dónde esta el codigo fuente del proyecto y el Pipeline sea capaz de obtener el mismo para empezar a ejecutar tareas.

Verjen_Credentials.gif

Luego de la generación del script deberíamos tener un código como el siguiente:


Construcción de una pipeline en Jenkins para un microservicio Java 13

3. Se define la etapa de compilación del proyecto para el artefacto proporcionado, de tipo Maven y se prueba ejecutando la Pipeline.

Ver jen_Build.gif

El código de configuración de esta stage es el siguiente:

stage("build"){
            steps{
                            sh "mvn -f ${PROJECT_ROOT} clean install"
               }
}

Recuerda agregar la variable antes de la definición de las stages

environment {
                      PROJECT_ROOT = "practica-devops"
}

Con este último paso se concluye la de definición de la etapa de construcción del artefacto proporcionado desde el Pipeline.

Una vez configurada la etapa build del pipeline procedemos con la construcción de la etapa Scan en nuestra siguiente lección. 

Nuevo llamado a la acción

Temas:Desarrollo de Software

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal