O que é o Jenkins?

O Jenkins é um servidor de automação de código aberto utilizado para automatizar tarefas, testes e implantação de software. Tem como mascote o Butler simbolizando um mordomo, simbolizando o ato de servir.

Sua história inicia em 2004, conforme abaixo um resumo de sua timeline:

  • 2004: Início do projeto Hudson, na Sun Microsystems, com o intuito de implementar pipeline em Java.
  • 2007: Comunidade cresce com adesão rápida de desenvolvedores, já que surgiu como um projeto de código aberto.
  • 2010: A Oracle torna-se a proprietária do projeto Hudson, com a compra da Sun Microsystems.
  • 2011: Surge o Jenkins a partir de um fork do projeto Hudson, criando um projeto apartado do domínio da Oracle.
  • 2013: A Fundação Jenkins é criada para administrar e gerenciar o projeto, com a finalidade de criar algo estruturado.
  • 2014: O Jenkins 2.0 é lançado, introduzindo a Pipeline as Code, o que possibilitou trabalhar não apenas com Java, mas outras linguagens também.
  • 2017: O Jenkins X é anunciado como um projeto de integração contínua e implantação contínua (CI/CD), suportando Kubernetes nativamente.
  • 2020: O Jenkins alcança mais de 200.000 instalações em todo o mundo. O projeto Hudson da Oracle é descontinuado…
  • 2023: O Jenkins tem hoje mais de 1800 plug-ins, curiosamente a própria Oracle usa o Jenkins.

Características

Podemos elencar cinco características principais do Jenkins:

  1. Fácil de instalar: não há necessidade de muitos recursos de hardware para instalar.
  2. Configurável: sem necessidade de recursos extras como banco de dados, já que possuí tudo internamente e altamente flexível através de configurações.
  3. Extensível: a alta gama de plug-ins disponíveis possibilita adicionar vários recursos ao Jenkins, possibilitando adicionar novas funcionalidades de forma muito fácil.
  4. Distribuído: é possível adicionar de forma muito fácil novos nós (agentes) para distribuição de tarefas automatizadas, distribuindo a carga de processamento.
  5. Baixo custo: é um projeto open source, desenvolvido pela comunidade e sem custo, além de não necessitar de sistemas robustos para execução.

Porque usar o Jenkins?

Existem várias vantagens em utilizar o Jenkins, merecendo destaque as seguintes:

  • Código fonte aberto: por ser open source, não há problemas com licenciamento de software, cuidados com propriedade intelectual, etc., o que reduz drasticamente custos.
  • Automatizador de tarefas: pode ser usado para criar tarefas simples e complexas, automatizando tarefas cotidianas do dia a dia, substituindo o próprio agendador de tarefas do Windows, resultando em uma economia de tempo e esforço.
  • Integração com outras ferramentas: totalmente integrado com ferramentas de terceiros, por exemplo: git, ansible, puppet, aws, azure, etc.
  • Integração contínua (CI): integração contínua de código-fonte, permitindo que as equipes de desenvolvimento enviem alterações frequentes e as incorporem à construção automaticamente. Isso ajuda a identificar problemas de integração mais cedo e a garantir que o software seja sempre funcional.
  • Entrega Contínua (CD): possibilidade de automatizar todo o processo de entrega de software, incluindo compilação, teste, empacotamento e implantação. Isso agiliza o ciclo de lançamento de software.
  • Testes Automatizados: automação de testes, permitindo a execução automatizada de testes unitários, testes de integração e outros tipos de testes, mitigando as atividades repetitivas. Isso ajuda a garantir a qualidade do software, identificando problemas e regressões rapidamente.
  • Facilita o dia a dia do desenvolvedor: toda a equipe ganha com as facilitações implementadas pelo Jenkins.

Para saber mais

Se você ficou interessado e quer saber mais, o Paulo Henrique Ottomar gravou um BE.TECH sobre Jenkins, abaixo você acessa o vídeo no YouTube. No evento o Paulo usou um script para criar uma pipeline simples, o código desse script pode ser baixado aqui.

E aí? Curtiu esse post? Deixa seu comentário, te vejo na próxima publicação, um abraço,

Danton C. Franco Junior

#TimeTec

Compartilhe
Autor
Leia mais
Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *