Dev (Back & Front)ARTIGO

Série Continuous Integration: build automatizado com Jenkins e GitHub

Hoje veremos como automatizar o nosso build, ou seja, se alguma mudança ocorreu no repositório, um novo build é iniciado.

Olá, pessoal! No último artigo vimos como conectar o Jenkins com o GitHub. Hoje veremos como automatizar o nosso build, ou seja, se alguma mudança ocorreu no repositório, um novo build é iniciado.

Considerando que você tem o cenário do post anterior conforme a imagem a seguir:

cijenkinscenario

Clique no projeto MyBookStore e vá em configureEm build trigger deixe assim:

buildtriggerjenkins

O que fizemos?

Simples: estamos dizendo que a cada mudança no Github vamos precisar rodar um novo build, porém, como estamos rodando localmente o Jenkins, não tem como o Github informar ao Jenkins que algo mudou, então faremos o Jenkins verificar a cada 1 minuto se algo mudou no Github. Essa é a forma que temos de fazer isso quando não temos o jenkins em um IP Público.

Feito isso, vá em manage jenkins >> configure system

E em GitHub Web Hook deixamos assim:

githubwebhook

Após inserir seus dados do Github e a URL do repositório, clique em test credential.

Agora vamos testar e ver se o build vai iniciar automaticamente. Mas antes veremos como estamos:

historybookstorebuild

No meu caso, tenho o histórico de build acima. É esperado que se algo for alterado no repositório uma nova build seja iniciada – claro que não será de imediato, mas a cada 1 minuto.

Vá no seu GitHub e acesse o projeto:

mybookstoregithubjenkins

Aperte a tecla T e você poderá realizar uma pesquisa no GitHub. Procure por store e escolhaStoreMatrix.java.

storematrixgithub

É a classe que vamos realizar a alteração e aguardar o Jenkins build. Ao selecionar a classe, clique no botão Edit e adicione o atributo address.

addressaddedstorematrix

Clique no botão commit changes.

Vamos aguardar por 1 minuto e ver se o Jenkins inicia o build. O resultado é como mostrado a seguir:

buildqueuejenkinsbookstore

Pronto! Temos agora nosso build automatizado conectado ao Jenkins. Simples, não?

Vou ficando por aqui e espero que tenham gostado do artigo!

é Bacharel em Sistemas de Informação e Especialista em Gestão e Estratégia de Negócios. Trabalha com TI desde 2003 e possui as certificações SCJP 5 e SCM. Trabalhou na IBM Brasil como Analista Programador Java, passou pelo laboratório da Enterprise Computing Lab (ECL) HP como Software Engineer, Ci&T como Engenheiro de Software em projeto JEE. Tem experiência internacional em Índia, Dubai e Londres. Atualmente é cofundador da ITSLabs (www.itslabs.com.br), uma start-up focada na criação de produtos web e mobile para start-ups. Também é autor dos livros "Guia do Exame SCJP", "Guia Prático JEE com Frameworks" e "TDD na prática".

Ver perfil