Caso práctico: Integración de Travis con GitHub.

De Wiki de EGC
Saltar a: navegación, buscar

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.yml con el siguiente codigo:
  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.