Github - Jenkins
Integração Contínua
[editar | editar código-fonte]“Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente. De forma geral, cada pessoa integra pelo menos uma vez durante o dia – 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.” Martin Fowler
Integração contínua, uma das práticas mais importantes do desenvolvimento ágil. Através dela, é possível agilizar tarefas demoradas como a compilação de um projeto e a execução dos seus testes automatizados.
Jenkins
[editar | editar código-fonte]- O que é Jenkins?
Jenkins é um servidor de Integração Contínua open-source feito em Java, pode ser rodado de forma standalone ou como uma aplicação web dentro de um servidor web.
- Vantagens:
- Builds periódicos;
- Testes automatizados;
- Possibilita análise de código;
- Identifica erros mais cedo;
- Fácil de operar e configurar;
- Comunidade ativa;
- O Jenkins integra outras ferramentas através de plugins existentes na própria aplicação.
Configurando Jenkins + Github
[editar | editar código-fonte]1) Instalando plugins Git e Github no Jenkins
- Na página inicial do Jenkins clique em Manage Jenkins -> Manage Plugins;
![](http://upload.wikimedia.org/wikipedia/commons/b/b0/Manage.png)
- Na aba Avaiable, habilite o Git Plugin e GitHub, depois clique em Download now and install after restart ;
![](http://upload.wikimedia.org/wikipedia/commons/d/d5/Github_01.png)
![](http://upload.wikimedia.org/wikipedia/commons/7/74/Plugin_Git_1.png)
2) Criando um Job no Jenkins
- Vá para a tela inicial do Jenkins e clique em "New Item".
![](http://upload.wikimedia.org/wikipedia/commons/e/e9/Jobs_1.png)
- Na próxima tela, crie um nome para o Job, escolha a opção 'Freestyle project'.
- Depois clique em ¨OK¨.
![](http://upload.wikimedia.org/wikipedia/commons/d/dc/Jobs_2.png)
3) Configurando Jenkins para usar seu repositório.
- Clique no Job criado.
![](http://upload.wikimedia.org/wikipedia/commons/1/13/Jobs_0.png)
- Clique Configure na parte esquerda da tela.
![](http://upload.wikimedia.org/wikipedia/commons/1/1e/Jobs_01.png)
- Na sessão General clique em GitHub Project.
- Em Project url coloque a url do seu projeto no GitHub.
![](http://upload.wikimedia.org/wikipedia/commons/2/26/Jobs_3.png)
- Na sessão Source Code Management Selecione Git
- Em Repository URL coloque a url do seu projeto no GitHub.
![](http://upload.wikimedia.org/wikipedia/commons/9/9e/Jobs_4.png)
- No final da página clique em Save.
4) Configurando o Jenkins para receber a notificação push do GitHub. Agora você precisa para permitir que Jenkins se comunique com GitHub.
- Clique em Menager Jenkins -> Configure System.
![](http://upload.wikimedia.org/wikipedia/commons/6/67/Manage_01.png)
- Na sessão GitHub escolha a opção Manage hooks.
- Certifique-se de que você forneceu pelo menos um usuário e senha para se conectar ao GitHub.
![](http://upload.wikimedia.org/wikipedia/commons/0/01/Manage_02.png)
5) Habilitando Job para ser acionado pelas notificações push.
- Clique no Job criado.
![](http://upload.wikimedia.org/wikipedia/commons/1/13/Jobs_0.png)
- Clique Configure na parte esquerda da tela.
![](http://upload.wikimedia.org/wikipedia/commons/1/1e/Jobs_01.png)
- Selecione o checkbox Build when a change is pushed to GitHub e salve a configuração.
![](http://upload.wikimedia.org/wikipedia/commons/6/62/Jobs_5.png)
6) Configurando o Github.
- No seu projeto no GitHub:
- Clique em Settings--> Webhooks&Services--> Service--> Add Services--> Selecione "Jenkins (GitHub plugin)" --> Add service.
![](http://upload.wikimedia.org/wikipedia/commons/a/a7/Weebhook_3.png)
![](http://upload.wikimedia.org/wikipedia/commons/c/c4/Weebhook_2.png)
7) Configure a ferramenta de build no Jenkins.
![](http://upload.wikimedia.org/wikipedia/commons/e/e4/Build_1.png)
8) Pronto! Agora o projeto está configurado e cada alteração no repositório irá disparar o Job no Jenkins.