GitHub cuenta con varias extensiones que podemos agregar a nuestros repositorios y hoy vamos a hablar de Travis el cual es un servicio de integración continua en la nube, este servicio soporta gran cantidad de lenguajes como Android, C#, Java, Haskell, entre otros. Tiene varios planes sin embargo si nuestro proyecto es open source lo podemos utilizar sin pagar, los planes pueden encontrarse acá.
Si se están preguntando para que me sirve Travis bueno cuando nosotros enviamos un push con los commits éste se encarga de ejecutar un build del proyecto y nos informa del estado del proyecto de manera que podemos enterarnos en cuestión de segundos si nosotros o alguno de nuestros compañeros ha enviado algún o algunos cambios que contienen errores. Cabe destacar que se puede integrar también con Slack para que nos notifique y no tengamos que ingresar al panel de Travis sin embargo esto será para otro artículo.
A continuación vamos a integrar el servicio con un repositorio de Java empleando Maven para manejar las dependencias por lo que deben de contar con un repositorio con un pom.xml para poder seguir el tutorial o bien pueden hacer un fork de acá.
Primero vamos a ingresar en las configuraciones de nuestro repositorio en GitHub
Vamos a la sección de «Servicios»
Damos click en el botón de abrir el directorio (si desean pueden abrir otra pestaña ya que más adelante debemos regresar acá)
Se nos va presentar todas las extensiones que podemos agregar, en este caso seleccionamos Travis CI
Aparece una ventana en la que nos brinda más información acerca del servicio, damos click en agregar a GitHub
Para que los servicios puedan vincularse con nuestros repositorios debemos de otorgarle permisos
En la siguiente ventana aparecerá el panel de Travis CI y vamos a dar click en «+»
Se van a desplegar todos los repositorios a los que tengamos acceso, vamos a buscar con el que vamos a trabajar
Una vez que lo encontramos vamos a cambiar el estado del botón «switch» para indicar que Travis CI se habilitará en ese repositorio
Una vez que lo habilitamos vamos a regresar a la pestaña de GitHub y vamos a observar que ahora aparece Travis CI en los servicios, vamos a ir a la página principal del repositorio
Una vez acá vamos agregar un nuevo archivo llamado «.travis.yml» el cual le indicará a Travis CI lo que debe de realizar cada vez que ejecuta un Build
En el nombre ingresamos «.travis.yml» y en el contenido las siguientes instrucciones
language: java jdk: oraclejdk8
Las instrucciones anteriores le indican el lenguaje de programación y la versión del jdk que debe utilizar, se pueden agregar muchas tareas más como enviar un correo electrónico con el estado, compilar con diferentes versiones de un SDK, entre otros. Para más información pueden revisar la documentación
De manera que quede así, después de esto realizamos el commit
En el momento que se realiza un cambio en el repositorio Travis CI va a ejecutar un Build por lo que si nos dirigimos al panel vamos a poder observar que hay una tarea en proceso
Una vez finalizada nos va desplegar el estado junto a una descripción, en este caso no hay errores
En caso que hayan errores aparece algo similar a lo siguiente
Bueno Travis CI es una herramienta muy útil para el desarrollo de software que pertenece a las buenas práctica de DevOps y su integración con GitHub es sencilla.
Espero que les haya sido de ayuda, hasta la próxima 🙂