Buscar

Jenkins

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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 web aplicação dentro de um servidor web. 
Vantagens: 
● Builds periódicos; 
● Testes automatizados; 
● Possibilita análise de código; 
● Identificar 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. 
Na integração contínua o processo de build integrado deve ser feito constantemente, sendo 
sincronizado sempre que possível, evitando o acúmulo de códigos e de testes. Isto por que é mais 
fácil encontrar erros em pequenas integrações do que em uma integração grande. O problema é que, 
apesar de ser ágil, temos que criar testes automatizados que permitam ao desenvolvedor analisar 
erros de integração. Uma boa prática é a utilização de frameworks XUnits para esta tarefa, exemplo: 
Junit para Java, PHPUnit para PHP, CppUnit para C++, entre outros. 
 
As ferramentas de integração contínua permitem que seja configurado o seu sistema, o ambiente de 
desenvolvimento (exemplo: jdk), permite que seja configurado o sistema de build automatizado como 
o ant, integrar com o repositório de controle de versão, e permite ainda o envio de e-mails de 
notificação. Isto é importante, pois como o sistema é automatizado, caso ocorram erros, o 
desenvolvedor pode ser notificado que a integração gerou falhas, para poder ser analisada. 
A integração contínua com ferramentas automatizadas traz diversos benefícios, como vimos. 
Primeiro é que o trabalho em equipe gera menos erros, reduz riscos, pois como o sistema é 
integrado continuamente e rapidamente, os erros também são detectados na mesma velocidade. 
Os bugs neste formato, não se acumulam, não gerando um problema geral no sistema, pois ao invés 
de demorar um dia ou uma semana, o erro é detectado em horas. Pois mesmo o desenvolvedor 
testando na codificação, ao integrar, erros podem surgir e quanto antes os erros forem detectados, 
antes serão corrigidas. 
 
A integração contínua permite que os desenvolvedores encontrem rapidamente conflitos de versão, o 
grande segredo é solucionar problemas rapidamente e continuamente. A chave para uma boa 
integração, é um ambiente de controle de versão centralizado, builds e testes automatizados. 
 
“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 multiplas 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 
 
Fontes: 
https://pt.wikiversity.org/wiki/Github_-_Jenkins 
https://www.devmedia.com.br/integracao-continua-uma-introducao-ao-assunto/28002

Outros materiais