Skip to content
icaro gavazza edited this page Jun 26, 2017 · 1 revision

Integrando o Travis e Github

O Travis é um serviço de integração contínua que permite realizar diversos procedimentos, como testes automatizados, toda vez que um determinado repositório, presente no Github, sofre alteração. É um serviço totalmente customizável para se adequar a aplicação e sua linguagem usada. Para realizar a integração entre o Github e o Travis basta seguir os passos:

  • Crie uma conta no Travis e no Github
  • No Travis, solicite ao Github que o Travis tenha acesso aos repositórios do Github
  • No Travis, selecione o repositório do Github que seja ser "Vigiado" pelo Travis
  • No Git, crie um arquivo .travis.yml, como segue

Algumas coisas que o travis.yml pode conter:

  • What programming language your project uses
  • What commands or scripts you want to be executed before each build (for example, to install or clone your project’s dependencies)
  • What command is used to run your test suite
  • Emails, Campfire and IRC rooms to notify about build failures

Exemplo do arquivo travis.yml:

language: python
python:
  - '3.3'
dist: trusty
sudo: false

branches:
  only:
  - master
  - desenvolvimento

install:
  - pip install -r requirements.txt  

script:
  - cd wsgi/myproject
  - python manage.py behave 

Configuração do .travis.yml

Tag language: A tag language e python descrevem, respectivamente, qual é a linguagem que o projeto foi construído e qual versão do python foi utilizado. Essa informações são importantes, pois o Travis irá construir uma máquina virtual específica para essa configuração.

https://docs.travis-ci.com/user/languages/python/

Tag sudo: e dist: Se adicionar false a tag sudo: (sudo: false) estará dizendo ao Travis para usar a infraestrutura padrão, que é o Ubuntu 12.04.

Se adicionarmos a tag **dist: ** com o valor trusty (dist: trusty) estaremos dizendo ao Travis para usar a infraestrutura baseada em Ubuntu Linux Trusty 14.04, ou seja, uma versão LTS mais recente do Linux.

Se o valor de sudo: for enable (sudo: enable) estaremos dizendo ao Travis que iremos utilizar um ambiente mais customizável na máquina virtual. Por exemplo, podemos usar o dist: trusty junto ao sudo: enable para utilizar uma versão mais atualizada do Linux 14.04 na infraestrutura, ou utilizar a tag os: osx se precisar que a aplicação rode em um macOS.

https://docs.travis-ci.com/user/ci-environment/

Tag branches: e only: As tags branches e only definem quais branches do GitHub que o Travis deve "vigiar". Em outras palavras, o travis será ativado somente quando as branches desenvolvimento e master foram atualizadas.

Tag install: e script: A tag install é utilizado para instalar dependências necessárias para a compilação e testes do software em desenvolvimento. No nosso caso, utilizamos essa tag para instalar o Django e outras biblioteca, podendo especificar passo a passo, ou fornecendo o script (.sh) com os comandos necessários. Por fim, a tag script é utilizada para executar comandos após a instalação das dependências. No nosso caso, usamos essa tag para definir a etapa de execução dos testes, ou seja, utilizamos a tag script para automatizar a execução dos nossos testes. Assim como no install, os comandos podem ser passo a passo ou em um arquivo de script.

Ciclo de preparação do ambiente: 1- OPTIONAL Install apt addons 2- OPTIONAL Install cache components 3- before_install 4- install 5- before_script 6- script 7- OPTIONAL before_cache (for cleaning up cache) 8- after_success or after_failure 9- OPTIONAL before_deploy 10- OPTIONAL deploy 11- OPTIONAL after_deploy 12- after_script

Na pratica, nao existe diferenca caso escreva todos os passos de forma procedural em uma tag só, mas por motivos de organização e modularização de etapas, é preferível usar as várias tags que o Travis disponibiliza.

https://docs.travis-ci.com/user/installing-dependencies/

Clone this wiki locally