Bamboo vs Jenkins: Qual a ferramenta CI/CD a utilizar?
On Outubro 7, 2021 by adminAgora é impossível falar sobre desenvolvimento de software sem discutir DevOps, e Integração Contínua e Entrega Contínua são pontos importantes a considerar, já que suas melhores práticas podem resultar em melhores planos de implantação, menos bugs em seus lançamentos e um feedback mais rápido de seus processos.
Qual é a melhor maneira de ter atualizações constantes e versões confiáveis de lançamento? Que ferramentas você deve usar? Estas perguntas levam muitas equipes a procurar uma comparação entre Bamboo e Jenkins – afinal, não é por isso que você está nesta página?
Vamos dar uma olhada em profundidade no Bamboo e Jenkins da Atlassian e definir alguns dos diferenciadores como uma ferramenta de Integração Contínua.
Integração Contínua de Bamboo
Em 2007, a Atlassian anunciou o primeiro lançamento de Bamboo a saltar para este nicho emergente do mercado. O que o Bamboo traz é uma poderosa combinação de organização, flexibilidade, GUI fácil e metodologias CI/CD para entregar uma grande experiência enquanto cria seus planos de construção e implantação. O principal objetivo da Atlassian Bamboo é ajudar a entrega de seu software a ser flexível e forte (quase inquebrável) como um bambu.
Bambu ocorre do código à implantação:
Aqui você pode ver como organizar suas construções através de uma estrutura bem definida. No Bamboo você cria planos (build ou deploy), depois define Stages, Jobs e Tasks – tudo muito flexível e fácil de configurar via UI.
Dentro do seu Plano, você pode ter vários Stages. De acordo com a documentação da Atlassian, cada Etapa:
- “Tem um único Trabalho por padrão, mas pode ser usado para agrupar vários Trabalhos,
- Processa seus Trabalhos em paralelo, em múltiplos agentes (quando disponível),
- Tem que completar com sucesso todos os seus Trabalhos antes que a próxima etapa do plano possa ser processada,
- Pode produzir artefatos que podem ser disponibilizados para uso por uma Etapa posterior.”
A seguir às Etapas, você tem Jobs, que são um grupo de Tasks (seus itens principais a serem executados). De acordo com a documentação da Atlassian, um Trabalho:
- “Processa uma série de uma ou mais Tarefas que são executadas sequencialmente no mesmo agente,
- Controla a ordem em que as Tarefas são executadas,
- Colhe os requisitos de tarefas individuais no Trabalho, para que estes requisitos possam ser combinados com as capacidades do agente,
- Definir os artefatos que a construção irá produzir,
- Pode apenas usar artefatos produzidos em uma etapa anterior,
- Definir quaisquer etiquetas com as quais o resultado da construção ou artefatos de construção serão etiquetados.”
Bamboo torna-se mais forte com a sua integração com outras ferramentas Atlassian, tais como Jira Software e Bitbucket Server. Você pode obter visibilidade sobre mudanças de código, resultados de compilação e detalhes de implantação em todas as plataformas.
Para uso pesado, você pode tirar vantagem dos agentes de compilação remota, incluindo agentes de compilação elástica (Amazon EC2), assim você tem compilações distribuídas por vários servidores, reduzindo o tempo de espera.
As características chave incluem:
- “Integração de Jira Software e Bitbucket Server para visibilidade de ponta a ponta na implementação, qualidade e status do lançamento.
- Enviar um fluxo contínuo de builds para testar ambientes e lançar automaticamente builds para os clientes.
- Gestão de agentes de build impressionante que lhe permite escalar a capacidade de build conectando servidores em sua rede usando Amazon EC2. Você visualiza os requisitos do sistema para cada build com o recurso Agent Matrix, permitindo que você atribua builds aos agentes certos.
- Fusão automatizada entre as filiais Git e Mercurial.
- Apenas a partir do nome da filial, você pode automaticamente detectar, construir, testar e fundir filiais para implantar código continuamente nos servidores de produção ou de estadiamento.
- Suporte e recursos estão disponíveis para as equipes da empresa. “
Detalhes técnicos nas plataformas suportadas incluem:
- Bamboo corre em Java (actualmente suporta Java 1.8)
- OS suportados: Microsoft Windows, Linux, Solaris, e MacOS / OSX
- Bases de dados suportadas: Mysql, Postgres, SQL Server, e Oracle
- Web Browsers suportados: Firefox, Chrome, Safari, Microsoft Edge e IE 11
- Repositório de Fontes: GIT, Mercurial, Subversion e Perforce
- Docker para Mac / Linux (17 ou posterior)
Jenkins Integração Contínua
Primeiro lançamento em 2004 (anteriormente chamado Hudson), Jenkins é uma das ferramentas CI mais populares disponíveis. Seguindo a mesma idéia do Bamboo, ele aborda as metodologias CI/CD para permitir que equipes construam, testem e implantem software de qualidade.
Jenkins é uma aplicação livre de código aberto. Tem uma enorme comunidade que ajuda a manter e melhorar o aplicativo e seu ecossistema. Uma de suas vantagens é ter centenas de plugins, que permitem aos clientes moldar Jenkins para atender praticamente qualquer processo CI/CD desejado.
Este é um exemplo de um cenário que pode ser alcançado com Jenkins:
As características chave incluem:
- “Integração Contínua e Entrega Contínua”.
- Instalação fácil.
- Configuração fácil.
- Centenas de plugins
- Extensível através da sua arquitectura de plugins
- Pode facilmente distribuir trabalho por múltiplas máquinas, ajudando a construir, testar e implementar em múltiplas plataformas.”
Jenkins também tem funcionalidades incorporadas como scripting directamente na interface de utilizador para criar/actualizar tarefas/pipelines. Uma versão em nuvem está disponível.
Aqui está um exemplo de uma Jenkinsfile
usando a sintaxe Declarative Pipeline (as definições podem ser encontradas no link anterior).
Detalhes técnicos em plataformas suportadas incluem:
- OS suportados: Microsoft Windows, Linux, Solaris e MacOS
- Web Browsers suportados: Firefox, Chrome, Safari, Microsoft IE 11
- Source Repository: CVS e Subversion, suporte integrado para Git, e também se integra com um grande número de outros sistemas de controle de versão via plugins.
- Pode ser instalado como um Docker Container
Bamboo vs. Jenkins: A comparação
Todas as aplicações são muito poderosas e oferecem uma gama de características:
BAMBOO |
JENKINS
|
|
---|---|---|
Built-em Git ramificação de fluxos de trabalho |
apoiado |
x |
Built-em projetos de implantação |
apoiado |
x |
Built-in Jira Integração de software |
apoiado |
x |
Built-no Bitbucket Server integração |
suportado |
x |
REST APIs |
suportado |
apoiado |
Teste Automação |
apoiado |
via plugins |
Easy Enterprise-permissões de notas |
apoiadas |
via plugins |
G2Crowd criou uma comparação baseada em revisões de usuários para os seguintes pontos:
BAMBOO |
JENKINS |
|
---|---|---|
Requisitos | 8.8 | 8.9 |
Facilidade de uso | 8.5 | 7.8 |
Facilidade de configuração | 7.5 | 7,8 |
Facilidade de Admin | 8,2 | 7.8 |
Qualidade do Suporte | 8,2 | 7,6 |
Como ambas as ferramentas visam o mesmo alvo e ambas oferecem um serviço de alta qualidade, como pode saber qual é a melhor ferramenta para si? Tenha em consideração alguns pontos:
- Jenkins é uma ferramenta de código aberto, enquanto o Bamboo é uma ferramenta comercial. Jenkins é um projeto apoiado por sua comunidade global, e Bamboo tem sua própria equipe dedicada para seu desenvolvimento.
- Bamboo tem uma abordagem mais amigável do que Jenkins – como geralmente, aplicativos de código aberto estão mais preocupados com outros recursos.
- Jenkins tem um grande número de plugins para permitir que os clientes atinjam seus objetivos, enquanto Bamboo vem com a maioria dos recursos incorporados e conta com centenas de plugins disponíveis no Atlassian Marketplace.
- Bamboo integra-se perfeitamente com o conjunto Atlassian, oferecendo uma grande experiência se você já está usando Jira Software e Bitbucket.
- Jenkins e Bamboo têm ambos ótima documentação online, oferecendo aos clientes a opção de pesquisar e encontrar uma solução antes de chegar ao suporte para ajuda.
- Bamboo tem ótimo suporte profissional disponível para clientes licenciados, assim como documentação online e ajuda da comunidade Atlassian. Jenkins tem suporte da comunidade e você pode obter suporte profissional da Cloudbees.
- Bamboo é uma ferramenta paga e o preço depende do seu uso, baseado em quantos agentes remotos você vai precisar. Jenkins é uma ferramenta gratuita.
É uma decisão muito difícil de tomar, mas nós podemos ajudá-lo com esta decisão. Como Parceiros de Soluções Atlassian Platinum, podemos mostrar-lhe todas as vantagens de usar o Bamboo e como pode melhorar a sua equipa de desenvolvimento para tirar o máximo partido da integração contínua com as ferramentas Atlassian. Seja sua equipe de desenvolvimento pequena ou uma operação gigante com centenas de builds em fila, temos certeza que o Bamboo pode ajudar a tornar o software entregue mais rápido e com maior qualidade.
Quer experimentar o Bamboo? Entre em contato com a equipe da Valiantys que pode ajudá-lo com o licenciamento e a implantação.
Deixe uma resposta