Qual ferramenta de CI / CD escolher - Jenkins ou GitLab?

Integração contínua e ferramentas de implantação de CI / CD estão em demanda hoje. De todas as soluções atuais, existem dois líderes óbvios, Jenkins e GitLab. Em grandes serviços de revisão, ambas as soluções têm aproximadamente a mesma classificação, mas vale a pena olhar não só isso. Vamos dar uma olhada nos benefícios do Jenkins e do GitLab e para que eles são mais adequados.







Gitlab



É um produto de código aberto gratuito lançado sob a licença do MIT e escrito em Go e Ruby. Um servidor separado em tal solução é capaz de lidar com mais de 25.000 usuários.





Interface do GitLab O GitLab



fornece a capacidade de trabalhar com repositórios, revisão de código, tem seu próprio sistema de controle de erros e muito mais. Para aumentar a privacidade do usuário, é possível vincular a ferramenta aos servidores Active Directory e LDAP instalando-a localmente.



Uma comunidade grande e envolvida torna o trabalho com o produto confortável. O GitLab é usado não apenas para gerar código, mas também para revisá-lo completamente. Quase todos os ambientes de construção e sistemas de controle de versão são suportados.



prós



  • Documentação detalhada e fácil gerenciamento.
  • . , .
  • , .
  • .
  • pull requests , opensource-.




  • (, ) .
  • .


Jenkins



Uma solução extensível de código aberto para automatizar a implantação. Jenkins é escrito em Java e também é executado sob a licença do MIT. Ele tem um rico conjunto de recursos para automatizar as tarefas de construção, teste, implantação, integração e lançamento de software.





Interface do Jenkins



Além da instalação por meio de um pacote de instalação tradicional, ele pode ser instalado tanto autônomo como Docker em qualquer máquina com o Java Runtime Environment (JRE) instalado.



Há também um subprojeto da equipe do Jenkins chamado Jenkins X, especializado em CI / CD dentro de clusters Kubernetes.



A equipe do Jenkins lançou cerca de 1.500 plugins, para que possam ser usados ​​com outras soluções como co Slack, Jira e outras. A integração também está disponível para uma variedade de ferramentas de teste DevOps. Há suporte para REST API para acesso remoto ao sistema. Ele vem em três opções: Python, XML e JSON com suporte a JSONP. Assim como o GitLab, ele ajuda a desenvolver uma comunidade grande e apaixonada. Ele também pode atuar como um servlet em contêineres Java, como GlassFish e Apache Tomcat.



prós



  • Fácil de configurar e atualizar (em apenas algumas etapas).
  • Processo de construção automatizado e documentação clara e detalhada.
  • Fácil integração com outras ferramentas, neste caso você pode ser avisado sobre o andamento do processo.
  • . , .




  • .
  • , .




Jenkins é bom por sua grande biblioteca de plugins, controle completo sobre os espaços de trabalho, fácil configuração de nós e fácil implantação. Em geral, a solução é flexível, universal e fácil de aprender, com suporte para vários idiomas (mas não há suporte completo para o russo).



No GitLab, é fácil escalar os runners, há uma execução paralela de tarefas em diferentes fases do pipeline. A solução se dimensiona muito bem, é fácil adicionar tarefas. Além disso, o GitLab é bem feito em termos de segurança e privacidade.



Com o GitLab, você pode controlar todos os aspectos do trabalho com repositórios Git, incluindo branches com código. Com Jenkins, você controla os repositórios apenas até certo ponto. Por exemplo, você não tem controle total sobre os ramos.



Também vale lembrar a tarefa original que esteve no desenvolvimento de ambas as ferramentas. Jenkins foi desenvolvido principalmente para implementação de CI, enquanto GitLab foi desenvolvido para colaboração de código e controle de versão.






Blog ITGLOBAL.COM - TI gerenciada, nuvens privadas, IaaS, serviços de segurança da informação para empresas:






All Articles