Baixe o app para aproveitar ainda mais
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
Compartilhar