BLOG

A clock containing the life cycle of continuous integration.
DevOps-Tecnología

Jenkins será el componente que ejerza como servidor de integración continua en el entorno que estamos montando. Si finalizaste con éxito la instalación de SonarQube y Nexus OSS, pasemos a instalar y configurar Jenkins.

Pero antes de empezar, ¿Sabes qué tipo de tareas puede realizar Jenkins?

Jenkins, como servidor de integración continua, permite planificar y realizar multitud de tareas, simplificando los procesos involucrados en el ciclo de vida de un proyecto. Algunas de sus características más importantes son:

  • Comprobación cada cierto periodo de tiempo si se ha realizado algún commit en el repositorio de control de versiones (GIT), y en caso de ser así, compilar el código y ejecutar las pruebas para testearlo.
  • Notificación de errores que se hayan detectado tras las ejecución de pruebas, por ejemplo vía mail, twitter, chat, etc.
  • Generación y publicación de binarios.
  • Ejecución de métricas de calidad y visualización los resultados.
  • Generación de documentación asociada a un proyecto.

Si llegados a este punto, aun te queda alguna duda sobre qué es Jenkins y el rol que ocupa en un entorno de integración continua, te recomiendo leer este post de Javier Garzas.

Instalación

En seguida comprobaras que instalar Jenkins es muy sencillo. Simplemente sigue los siguientes pasos:

  1. Descarga la herramienta de la página oficial . Observa que puedes descargar Jenkins como paquete nativo para tu sistema operativo o en formato WAR. Para nuestro ejemplo, te recomiendo la segunda opción.
  2. Ubica el WAR descargado (war) en la carpeta donde quieras instalar Jenkins.
  3. Por último, sólo queda levantar el servidor. Para ello sitúate en la carpeta donde guardaste el WAR y ejecuta desde línea de comandos la instrucción  java -jar jenkins.war start
    • Otra opción es que utilices un servidor de aplicaciones que tengas instalado para ejecutar el WAR, por ejemplo Tomcat 8.
  4. Si el servidor se inició correctamente, podrás acceder a Jenkins en la URL https://localhost:8080

Apariencia principal de Jenkins

Configuración

Lo primero de todo será configurar la herramienta para que localice las rutas de instalación de los distintos componentes que forman parte de nuestro entorno de integración continua. Para ello accede primero a la opción de menú: Administrar Jenkins -> Configurar el sistema.

Administrar Jenkins

 

Java

En la sección JDK debes indicar la ruta donde tienes instalada la versión de Java que utilizarás. Haz click sobre el botón “Añadir JDK” e introduce la información requerida.

Maven JDK

Maven

En la sección Maven, debes indicar su ruta de instalación. Para ello pulsa sobre el botón “Añadir Maven” e indica el path.

Configurar Maven en Jenkins

Git

Para conectar con un repositorio Git, es necesario descargar una plugin. Para ello accede a la opción de menú Administrar Jenkins à Administrar Plugins :

  1. Sitúate sobre la pestaña “Todos los plugins”.
  2. Busca en el filtro por “GIT Plugin”.
  3. Una vez localizado, selecciona el plugin y pulsa al botón “Descargar ahora e instalar después de reiniciar”.
  4. Cuando empiece la instalación del plugin, comprobaras que te da la opción de marcar un check para indicar a Jenkins que se reinicie en cuanto se realice la descarga y realizar por tanto la instalación del plugin.

Si la instalación fue correcta, deberías ver en la pestaña “Plugins Instalados” el plugin que acabas de instalar.

Plugin de Git para Jenkins

 

Sonar

Al igual que hicimos con Git, para trabajar con Sonar también será necesario instalar un plugin. Sigue los mismos pasos que los descritos en el apartado anterior para instalar “SonarQube Plugin”. Una vez instalado, recuerda reiniciar Jenkins para activarlo.

Instalación del plugin de SonarQube para Jenkins

Por último, vuelve a Administrar Jenkins -> Configurar el sistema y localiza la sección “SonarQube”. Aquí deberás configurar los parámetros necesarios para conectar con tu servidor de SonarQube. Por si te sirve de ayuda, puedes consultar la información del fichero sonar.properties para completar esta información.

Configuración de SonarQube en Jenkins

 

SonarQube Runner

En la sección SonarQube Runner,debes indicar su ruta de instalación. Para ello pulsa sobre el botón “Añadir Añadir SonarQube Runner”.

Configuración de SonarQube Runner en Jenkins

 

 

Por último comentar que en el apartado “Notificación por correo electrónico”, puedes indicar un correo electrónico por defecto donde se enviarán las notificaciones. Para ello será necesario configurar un servidor SMTP.

Con esto finalizamos la configuración general de Jenkins, en donde hemos indicado los parámetros de conexión con las distintas herramientas con las que debe interactuar a la hora de ejecutar las tareas (Jobs) planificadas.

Continua con el siguiente el siguiente artículo, donde aprenderemos a configurar, planificar y ejecutar de jobs en Jenkins

Comparte este artículo si te gustó:

4 Responses

  1. «Por último comentar que en el apartado “Notificación por correo electrónico”, puedes indicar un correo electrónico por defecto donde se enviarán las notificaciones. Para ello será necesario configurar un servidor SMTP.»

    Para que fuese mas completo el post, debiste poner una configuracion basica de un servidor SMTP, o por lo menos asomar un link para complementar.

    Muy buen aporte, muchas gracias.

  2. Buenos días,

    Para empezar, yo no tengo la opción de administrar Jenkins porque esta capado por mi empresa, y ya he pedido a los de soporte que me configuren el Jenkins con Git y mi proyecto que esta hecho en .NET, pero a la hora de poner la URL de mi Git me sale el mensaje » Failed to connect to repository : Error performing command: /usr/bin/git ls-remote -h https://git…….. «, he probado con poner user dentro la url pero me sigue saliendo.
    ¿Como puedo resolver este problema ?

    Muchas gracias.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.