Integração Contínua é um conceito que já é amplamente utilizado na prática. E hoje em dia é cada vez mais fácil fazer isso, graças as várias ferramentas livres, como Go, Jenkins e Snap.
O legal do Snap é que é muito fácil pegar um repositório no GitHub e configurar um servidor de Integração Contínua, sem precisar instalar nada!
Vamos ver um passo a passo bem simples pra mostrar o quão fácil é.
1. Crie sua conta no Snap
Acesse www.snapci.com e clique em “Sign in with GitHub”. Pronto, agora você tem sua conta no Snap e pode visualizar facilmente todos os seus builds:
2. Importando seus builds
Clique no botão “+ REPOSITORY” e selecione o repositório.
Depois disso você vai ser redirecionado para a página de configurar o Build Pipeline, que é basicamente todos as tarefas que serão executadas para validar o seu projeto. No primeiro acesso é feito um tour sobre as principais opções e configurações.
3. Criando um Stage
Basicamente um build pipeline é composto de uma sequência de Stages. Cada Stage possui comandos que serão executados, como rodar determinada suite de testes, compilar e gerar binários, realizar um deploy ou qualquer outra tarefa. Além disso também é possível configurar variáveis de ambiente específicas do Stage.
O Snap já provê um conjunto comum de Stages, basta clicar em “+ ADD STAGE” para ver na barra esquerda exemplos de Stages como RSpec, Cucumber, Gradle, Grunt, além de outros específicos para deploy como Heroku.
Uma vez que o Build Pipeline for definido basta clicar em “► Build now” e ver o build ser executado! As execuções ficam em uma página mostrando todo o histórico:
A cada execução do Build é possível acompanhar os logs ou ver logs antigos, basta clicar em cima do Stage para ver mais informações e editar configurações.
Simples e rápido! Agora você tem um servidor de integração que vai ser executado a cada novo commit 🙂
Dá até pra colocar uma imagem no README com o status mais recente do build:
Se quiser mais informações e detalhes, basta ir na página de documentação: http://docs.snap-ci.com/getting-started/