Travis CI - GitHub
Introdução
[editar | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]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 | editar código-fonte]1) Na página do projeto no GitHub, para adicionar o Travis CI, clicaremos no botão "Settings", marcado por um retângulo vermelho.
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.
3) Ao clicar em adicionar o serviço do Travis CI será necessário, sua autorização através da senha do GitHub.
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".
5) Será mostrada na parte superior do site abaixo do menu do GitHub uma mensagem informando que foi adicionado com sucesso o serviço.
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.
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).
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.
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.
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:
11) Caso tenha algum problema na build apresentará a seguinte informação:
12) Depois da equipe ter resolvido o problema ou quando não houver nenhum problema apresentará a seguinte Tela: