Embora enfrente o aumento da concorrência, Jenkins continua a ser um dos mais populares servidores de integração contínua. Ele foi criado durante a infame divisão da comunidade Hudson que ocorreu depois que a gigante do software Oracle assumiu o controle da Hudson de código aberto em um movimento que inflamou a comunidade de desenvolvimento e incendiou a internet com um debate acalorado.
A boa notícia para desenvolvedores em todos os lugares que acreditam na importância de manter o software de código aberto fora das mãos de grandes corporações é que na batalha subseqüente Hudson vs. Jenkins, foi Jenkins que saiu vitorioso.
Parte da razão por trás disso foi o número de soberbos plugins Jenkins que foram desenvolvidos pela comunidade Jenkins. No momento, Jenkins tem mais de 1.500 plugins que ajudam os desenvolvedores a automatizar grandes partes do desenvolvimento do projeto. Estes plugins podem ajudar em tarefas que vão desde ajudar na entrega contínua, transferir arquivos de um projeto para outro, exibir projetos Jenkins no JIRA, e assim por diante, e assim por diante.
Desde que cada um destes plugins resolve problemas diferentes, não é uma tarefa fácil escolher os melhores plugins Jenkins. Portanto, ao invés de gerar controvérsia, neste artigo, eu pretendo detalhar alguns dos plugins mais úteis que ajudam os desenvolvedores a economizar tempo, além de facilitar suas vidas.
A fim de ampliar o apelo deste artigo, eu escolhi uma mistura de plugins, alguns dos quais irão apelar para desenvolvedores individuais e outros que serão úteis para grandes equipes de desenvolvimento.
- Job DSL
Um problema que muitos desenvolvedores que confiam no Jenkins para trabalhar em vários trabalhos terão experimentado é ter que configurar repetidamente cada novo trabalho que iniciam. Isto não só consome muito tempo (considerando que muitos programadores em tempo integral trabalham em 100 trabalhos por ano), mas também pode realmente fazer o seu trabalho parecer monótono também.
Jenkins Job DSL plugin permite aos programadores usar o Groovy para definir trabalhos e configurar um conjunto comum de itens para eles. O plugin então mantém esses scripts e atualiza as informações do trabalho automaticamente. Isto permite que os programadores criem templates padronizados usando a Domain Specific Language (DSL), o que torna a configuração de novos projetos uma brisa.
2. Job Generator Plugin
Para gerentes de projeto e equipes de desenvolvimento que estão envolvidos com o desenvolvimento de projetos em larga escala, acompanhar o progresso dos trabalhos pode ser um pesadelo na melhor das hipóteses. O plugin Jenkins Job Generator permite aos gerentes de projeto responsáveis por um determinado pipeline Jenkins autorizar desenvolvedores em sua equipe a criar novos modelos de trabalho que podem ser usados para iniciar novos projetos/filiais de desenvolvimento.
Embora seja possível fazer isso manualmente, mais uma vez essa tarefa pode ser muito demorada, especialmente se o seu projeto tiver vários pipelines. A vantagem do Job Generator Plugin sobre o Job DSL plugin acima é que ele não requer programadores para conhecer Groovy.
3. Performance Plugin
Esta é uma ferramenta muito legal para os desenvolvedores brincarem. Ela permite aos desenvolvedores capturar relatórios de toda uma gama de ferramentas de teste que incluem JUnit, JMeter, Twitter’s Lago e Taurus. Você pode ver as informações sobre o desempenho do seu projeto no Jenkins através de gráficos e gráficos. Este é um ótimo exemplo de um plugin de gráficos Jenkins top.
4. GitHub/GitLab Pull Request Builder
Este altamente popular plugin de Git para Jenkins permite aos desenvolvedores automatizar facilmente a revisão de código. Ao iniciar uma requisição pull, o plugin irá recuperar o código fonte e os resultados da compilação para que os desenvolvedores possam ver rapidamente se seu código está correto.
Este ótimo plugin também permite que os desenvolvedores iniciem a fusão automática desde que o código passe na revisão.
5. JIRA Plugin
Lançado em dezembro de 2016, o plugin JIRA faz praticamente o que diz na lata. Ele permite que os desenvolvedores integrem o JIRA ao Jenkins. Muitas equipes de desenvolvimento usam muito o JIRA, então ser capaz de ver Jenkins através do JIRA ajuda a agilizar o processo de desenvolvimento.
6. Kubernetes Plugin
Para aquelas equipes de desenvolvimento que estão rodando vários projetos ao mesmo tempo, o Jenkins pode ser frustrante às vezes porque ele realmente não oferece grande escalabilidade de servidor. Este problema é resolvido pelo Plugin Kubernetes que permite aos desenvolvedores que usam Kubernetes automatizar o processo de escalonamento dos escravos Jenkins no ambiente Kubernetes.
Para aqueles desenvolvedores que estão usando Docker Swarm então o Plugin Jenkins Auto-Organizing Swarm Modules permitirá que você adicione escalabilidade ao Jenkins da mesma forma. Uma vez instaladas, ambas as versões permitirão que você continue com seu trabalho no Jenkins sem ter que se preocupar com problemas de escalabilidade.
7. Build Pipeline plugin
Embora a integração contínua seja uma ótima maneira de desenvolver projetos, ela também lança uma série de desafios. Manter o controle de todos os aspectos da progressão do trabalho, incluindo a garantia de qualidade, pode ser um grande desafio quando se lida com projetos complexos de várias camadas.
Jenkins Build Pipeline plugin permite aos gerentes de projeto criar uma cadeia de trabalhos conectados para que eles possam ter uma visão muito mais clara de todos os estágios do pipeline do projeto. O plugin permite aos gestores decidir quais as etapas que podem ser automatizadas ou que requerem intervenção manual. Este excelente plugin realmente permite aos desenvolvedores assumir o controle total de seus projetos, e é por isso que ele é usado por tantas equipes de desenvolvimento de software.
8. SCM Sync Configuration Plugin
Dados de configuração perdidos têm mantido muitos gerentes de projeto acordados à noite. Não só leva tempo para corrigir, como também é totalmente evitável. Da mesma forma que o código pode ser copiado para repositórios, com a ajuda deste prático plugin, os arquivos de configuração Jenkins também podem ser.
Este Plugin de Configuração de Sincronização SCM permite o backup automático dos arquivos de configuração para um repositório SCM. Não só isso, mas este plugin também irá rastrear quaisquer alterações, dando assim aos gerentes uma visão clara de quaisquer alterações. É uma popular ferramenta de backup Jenkins que qualquer caixa de ferramentas de desenvolvimento Jenkins deve conter.
9. Jenkins Maven plugin
Maven é muito amado por fornecer um layout de construção de projeto padrão fácil de usar. Isto ajuda os desenvolvedores a economizar tempo no início dos projetos, permitindo que eles pulem diretamente para o fundo do poço e não tenham que se preocupar com este aspecto de se familiarizar com o projeto.
Este plugin permite que Jenkins monitore as construções Maven para permitir o arquivamento automático de relatórios e ajuda com construções de módulos paralelos ou incrementais, etc. É fácil de configurar e não requer muito na configuração do Jenkins.
10 . Jenkins Subversion plugin
Com um grande número de desenvolvedores ainda usando o Apache Subversion, havia uma necessidade esmagadora de um plugin Jenkins para integrar os dois. Este plugin irá monitorar as mudanças e acionar novas compilações conforme e quando necessário, bem como atualizar automaticamente o espaço de trabalho para que ele esteja pronto para iniciar a nova compilação.