Enviado por juanonlab el Lun, 29/04/2019 - 13:04
Travis

Travis es una magnífica herramienta para darle integración continua a tu proyecto personal o libre de github. Es gratuito para proyectos libres o públicos y de pago para proyectos privados. Funciona muy bien y es muy sencillo de utilizar. Trabaja con muchos lenguajes (lista de lenguajes soportados por Travis). El funcionamiento es intuitivo y sencillo. 

Travis permite comprobar si tu proyecto en sus diferentes ramas está bien compilado. Ofrece desde su interfaz mucha información sobre tu proyecto: histórico de la build, log de la compilación...

Lo mejor de todo es que al menos los pasos más sencillos: tener una configuración básica del fichero yml de travis y comprobar el estado de tus ramas después de los commits se realiza de una manera intuitiva y sencilla. ¡No hay excusas para no ponerlo en tus proyectos!.

En mi caso voy a reutilizar la entrada que realicé sobre OptionalJava añadiendo un pequeño test y jugando desde github con la integración continúa y Travis.

 

Crear un cuenta en Travis

Lo primero es crear un cuenta en travis-ci.org. Si es un proyecto público de github no es necesario pagar nada ni te va a pedir tarjetas de crédito, ni hay tiempos de prueba.

En la página principal como se observa debes utilizar tu cuenta de github. Debes hacer clic en Sign with GitHub. Te dirige a una pantalla para insertar tu login y password.

signIn

 

Una vez dentro de la aplicación hay que hacer 2 cosas:

- Ir a la pantalla de Settings. Al hacer clic en tu avatar se despliega un menú donde se encuentra esta opción.

- Una vez dentro hace clic en el botón Sync Account para que Travis sincronice con tu cuenta de gitHub.

- Cuando aparezcan los repositorios se debe deslizar el selector sobre aquellos proyectos donde quieras que trabaje Travis. En la pantalla se observa que sólo está activo optionalJava.

 

Si tu respositorio no dispone de un fichero yml de travis no va a hacer nada. Es necesario tener configurado uno. Por ejemplo el fichero que yo he utilizado es este:

Gist con el fichero .travis.yml utilizado:

Es un fichero que sólo le indica el lenguaje a utilizar y la versión del jdk. Se debe ubicar en el directorio raiz de tu proyecto. Existe muchas más opciones de configuración en la página de travis puedes comprobar otras opciones de configuración.

Travis reconocerá al fichero y lo primero que hará será compilar la rama donde esté este fichero (master en este caso). En amarillo cuando está en proceso y verde cuando haya terminado con exito. Rojo si hay algún error. Para acceder a estas pantallas se debe hacer clic en Dashboard y luego clic en en el repositorio (optionalJava).

 

La integración con github es perfecta y desde github se puede comprobar como trabaja travis.

Voy a crear una rama nueva llamada asserTest y cambiar el test que tengo para que fallé. Subiré la rama a github y se podrá comprobar el estado de la misma desde github.

Desde github se incorporan unos iconos que indican si la rama se ha construido de manera correcta o no. Si hacemos clic en el icono se muestra un mensaje de Travis indicando que algo no ha funcionando bien.

Travis check KO

Al hacer clic en el mensaje de travis puedes acceder directamente a la aplicación donde se puede encontrar más información. Si se hace clic en el repositorio se muestra una pantalla con un histórico de builds. 

History Travis

Si hacemos clic en la build que ha fallado podemos buscar el error en la pantalla que muestra Travis. 

Test KO

Se espera FALSE y se ha obtenido TRUE. Realmente el test correcto es esperar TRUE.

Ahora vamos a arreglar el test hacer el commit y solicitar una pull-request hacia la rama master. Travis revisará todas estas acciones. En la siguiente pantalla se muestra el estado de la pull-request.

 

Si todo ha ido bien se puede realizar el merge hacia master.

 

Indicar estado de la última build en tu fichero README.md

 

Travis permite tener un link en tu Readme.md con la información de la build que quieras. Normalmente se usa la rama master. En la siguiente captura muestro desde donde se puede obtener el código en markdown para pegarlo en tu README.md.

Tag Build

Pegamos el texto al readme y quien acceda desde github al fichero podrá observar el estado de la rama.

 

Travis es un sistema de integración continúa que te permite tener un control del estado de todas las ramas. Para tener integración continua en github basta disponer de un archivo de configuración .travis.yml en la raiz de tu proyecto y activar en travis tu repositorio.

Recursos:

Añadir nuevo comentario