Travis CI - GitHub

Introdução

editar

O objetivo desta apresentação é introduzir o conceito de integração contínua assim como apresentar a ferramenta Travis CI integrado com o GitHub.

Conceito de integração contínua

editar

A ideia de integração contínua vem para solucionar a seguinte questão: “Como garantir que esse trecho de código que está sendo alterado não irá quebrar outra parte do sistema?”. Então, Grady Booch[1] propos em sua obra “Object-Oriented Analysis and Design with applications” o conceito de integração contínua. Porém, a ideia ganhou destaque ao ser introduzido por Kent Bech e Ron Jeffries como uma das práticas do Extreme Programming, onde é proposto que a técnica possa ser aplicada várias vezes ao dia.

Martin Fowler[2] define integração contínua como: “Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.”

Travis CI

editar

O Travis CI é um serviço web de Integração Contínua na nuvem integrado com o GitHub. Ele é gratuito para repositórios públicos(travis-ci.org) e pago para repositórios privados(travis-ci.com). Foi desenvolvido em Ruby e seus componentes são distribuídos sob a licença MIT.

Atualmente ele tem suporte para as seguintes linguagens de programação: Android, C, C#, C++, Clojure, Crystal, D, Dart, Erlang, Elixir, F#, GO, Groovy, Haskell, Haxe, Java, Javascript, Julia, Objctive-C, Perl, Perl6, PHP, Python, R, Ruby, Rust, Scala, Smalltalk, Visual Basic.

Como o Travis funciona?

editar

Quando dermos um push no repositório do GitHub, o Travis criará uma máquina virtual em branco, pegar o código-fonte no GitHub, fazer o deploy da aplicação, executar a aplicação a partir das condições estabelecidas e notificar o usuário, se configurado pode ser via email.

Configurando e adicionando o Travis ao seu projeto no GitHub

editar

1) Na página do projeto no GitHub, para adicionar o Travis CI, clicaremos no botão "Settings", marcado por um retângulo vermelho.

 
Tutorial Travis CI Tela 1

2) Após clicado, seremos direcionados para página de configurações do GitHub. Logo em seguida, na sidebar a esquerda da página de configurações, clicaremos em "Webhooks & services", marcado por um retângulo vermelho. Então, será exibido as mesmas informações contidas na imagem a seguir. Iremos agora, adicionar o serviço do Travis CI, na combobox a direita, escrito "Add service", selecionaremos qual serviço desejamos no caso, Travis CI, marcado por um retângulo azul. Ou seja, basta escrever o nome do mesmo, na barra de pesquisa que aparecerá e selecionar o Travis CI, marcado por um retângulo verde.

 
Tutorial Travis CI Tela 2

3) Ao clicar em adicionar o serviço do Travis CI será necessário, sua autorização através da senha do GitHub.

 
Tutorial Travis CI Tela 3

4) Após ser inserida a senha de confirmação, seremos direcionados a página para a gerenciamento do serviço do Travis CI. Bastando adicionar no formulário abaixo o seu usuário do GitHub e um token de sua preferência. Então clicaremos no botão "Add service".

 
Tutorial Travis CI Tela 4

5) Será mostrada na parte superior do site abaixo do menu do GitHub uma mensagem informando que foi adicionado com sucesso o serviço.

 
Tutorial Travis CI Tela 5

06) Pronto, agora iremos acessar o site: https://travis-ci.org/ (Site do Travis CI), será necessário um cadastro para se logar no sistema. Supondo que já esteja logado. Vamos adicionar então um projeto clicando no botão marcado na imagem.

 
Tutorial Travis CI Tela 6

7) Selecionaremos qual o projeto desejamos adicionar a ferramenta de integração contínua ao projeto. Caso o projeto não seja encontrado na lista dos seus projetos, basta apertar no botão de sincronizar com o GitHub(Marcado com 01). No caso, foi selecionado o projeto GCS-Travis-CI (Marcando, antes o que estava com um "X" na cor cinza, para a forma com esta representado agora na figura, um sinal de correto verde).

 
Tutorial Travis CI Tela 7

8) Agora seguindo os passos que foram passados na imagem acima, devemos criar um arquivo cujo nome é ".travis.yml", como exemplo aqui tratado é uma simples configuração vamos apenas configurá-lo para informar ao Travis qual é a linguagem que estamos usando, o comando de teste e qual é o e-mail para o qual ele deve enviar a notificação. Para demais tipos de configuração do arquivo ".travis.yml" há vários templates no próprio site dos Travis CI, cuja documentação é muito boa.

 
Tutorial Travis CI tela 08

9) Pronto agora, iremos para a página inicial do projeto no Travis CI o qual nos depararemos com a seguinte imagem. Na qual, o projeto já esta integrado com o Travis.

 
Tutorial Travis CI Tela 09i

10) Agora basta seguir com o desenvolvimento, ao dar o push na branch configurada para o Travis agir, ele começara a verificar apresentando a seguinte tela:

 
Tutorial Travis CI Tela 10i

11) Caso tenha algum problema na build apresentará a seguinte informação:

 
Tutorial Travis CI 12i

12) Depois da equipe ter resolvido o problema ou quando não houver nenhum problema apresentará a seguinte Tela:

 
Tutorial Travis CI 11i

Referências

editar
  1. Booch, Grady (December 1998). "Object-Oriented Analysis and Design with applications (2nd edition, 15th printing)". www.cvauni.edu. Retrieved 2 December 2014.
  2. Fowler, Martin (1 May 2006). "Continuous Integration". martinfowler.com. Retrieved 9 January 2014.