Tag: ci

Quebrando o build no Jenkins quando o SonarQube reclama

Fala galera, beleza?

No post de hoje mostrarei como integrar as ferramentas Jenkins e SonarQube para melhorarexigir qualidade no código que produzimos. Com a integração, podemos quebrar o build no Jenkins quando o Sonar recusar a qualidade do código analisado. Assim, evitamos códigos fora do padrão e garantimos que o mínimo está sendo feito para assegurar o padrão definido para o projeto.

Partirei do princípio que você conhece ambas as ferramentas. Neste post, estou usando as versão 6.5 do Sonar e 2.60.3 do Jenkins. Não vou mostrar como instalar, mas, no final do post, deixarei o conteúdo do arquivo docker-compose usado. Iniciarei as ferramentas com as configurações default.

 

Configurando o Jenkins

A primeira ação necessária para o nosso teste é instalar o plugin SonarQube Scanner for Jenkins.  Para isso, clique em Manage Jenkins >  Manage Plugins. Uma vez o plugin instalado, vamos configurar o endereço do Sonar no menu Manage JenkinsConfigure System.  

 

Configuração do SonarQube no Jenkins
Exemplo da configuração do SonarQube no Jenkins

Leia Mais

Integração contínua com Travis e Heroku

Fala galera, beleza?

Você ainda roda, de forma manual, bons e velhos scripts para por sua aplicação em produção? É chato ter que alterar os arquivos de configuração toda vez que precisa modificar o ambiente? Que tal descomplicar e deixar tudo isso automatizado de verdade? Tá parecendo venda de produto pirata né? Hehehe… Mas é só um post sobre integração contínua!

Vamos falar um pouco sobre como fazer integração contínua por meio do Travis-CI e realizando o deploy no Heroku. Como exemplo, vamos utilizar um sisteminha de Tarefas feito com Spring Boot e a camada de visão com AngularJS. Em um futuro não muito distante, falarei um pouco sobre as maravilhas do Spring Boot, mas, hoje, vamos focar nessa danada de integração contínua.

 

Integração Contínua

O que é? O que come? Para que serve? Veja no novo post do Gabriel Feitosa =)

Muita gente ainda se pergunta no que a integração contínua pode auxiliar no processo de entrega, mesmo se ainda trabalhar com a velha forma cascata  (sim, infelizmente ainda hoje tem muita gente entregando software assim).

Geralmente, associamos a integração contínua somente as metodologias ágeis. Afinal, foi por causa da necessidade de disponibilizar os softwares de maneira rápida, contínua e com qualidade, que se tornou indispensável integrar o que é produzido ao que é entregue.

Uma pergunta para responder em nossas cabeças: quando fazemos um bom trabalho, gostamos de ter um feedback/elogio do nosso chefe, ou não? Pois é, o nosso software também é sentimental. A integração contínua é a maneira mais prática de dar um feedback instantâneo para nosso sistema e, sem ser egoístas, para nós mesmos.

Funciona assim, faço meu código, depois dou o commit no repositório, o processo de build é iniciado, os testes são executados e, se houver falhas, elas serão expostas. Simples, rápido e sem dor. Opa, vão ficar sabendo que comitei sem rodar os testes, isso não é legal!!! Mas é CLARO que é legal meu amigo, já imaginou se você envia esse seu código para homologação e na hora do usuário testar ele não funciona ou se vai direto para produção? Seria muito pior, não?

Para nosso exemplo, vamos usar um repositório no Github. O Travis-CI irá escutar este repositório e sempre que houver mudança executará o processo de build e fará o deploy no Heroku.

Leia Mais

%d blogueiros gostam disto: