Caso práctico: Integración de Travis con GitHub.
De Wiki de EGC
Enunciado
Se pretende conectar Travis a nuestra cuenta de GitHub para que construya el proyecto y pase las pruebas de este== Solución
Solución
1. Conectar Travis con GitHub
- Lo primero que se debe hacer es acceder a la pagina de Travis https://travis-ci.org/, una vez en la pagina hay que pulsar en el boton de la :esquina superior izquierda donde dice registrarse con GitHub, donde se nos pedirá nuestros credenciales de GitHub. A continuación GitHub nos :pedirá autorizar a Travis para acceder a nuestra cuenta, una vez autorizado debemos esperar un tiempo para que Travis busque nuestros repositorios de GitHub.
2. Configurar Travis
- Una vez accedido pueden seguirse las instrucciones que ofrece Travis, en nuestro caso añadimos el repositorio del proyecto y añadimos en la raiz del proyecto el fichero de configuración de Travis .travis.yml con el siguiente código:
language: - java services: - mysql jdk: - oraclejdk8 - openjdk7 before_install: - mysql -u root < bbdd_Travis.sql script: - mvn clean test cache: directories: - $HOME/.m2 dist: - trusty sudo: - false notifications: - email: false
- Con este fichero estámos indicando que:
- Se trata de un proyecto java
- Se usa una base de datos de MySQL
- Debe funcionar tanto en java 7 como en java 8
- Antes de comenzar el script cargar el fichero de la base de datos bbdd_Tavis.sql que crea la base de datos y usuarios.
- Los comandos de maven a ejecutar son clean y test
- fichero bbdd.Travis.sql:
start transaction; DROP DATABASE IF EXISTS `egc-frontend`; CREATE DATABASE `egc-frontend`; USE `egc-frontend`; GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd'; COMMIT;
3. Observar funcionamiento de Travis
- A partir de este punto Travis ejecutará las pruebas cada vez que se haga un commit del proyecto en GitHub mostrando en el commit de GitHub un indicador de si las prueba se han pasado correctamente o ha surgido algún problema.
- Si accedemos de nuevo a la página en el instante en el que se haya ejecutado un push en GitHub, podremos observar que Travis está realizando lo indicado e el archivo de configuración (téngase en cuenta que Travis está trabajando en una maquina externa y el tiempo de respuesta puede ser alto).