Jenkins vs Travis-CI: Qual é a diferença?

Índice:

Anonim

O que é CI?

A integração contínua é um método de desenvolvimento de software onde os membros da equipe podem integrar seu trabalho pelo menos uma vez por dia. Neste método, cada integração é verificada por um build automatizado para pesquisar o erro. O conceito de CI foi introduzido pela primeira vez há mais de duas décadas para evitar o "inferno da integração", que acontece quando a integração é adiada para o final de um projeto.

Neste tutorial, você aprenderá

  • O que é CI?
  • O que é Travis CI?
  • O que é Jenkins?
  • O que Travis faz?
  • O que Jenkin fez?
  • Recursos do Travis CI:
  • Recursos do Jenkin:
  • Travis x Jenkins
  • Índice de popularidade
  • Qual é melhor?

Como funciona o CI?

  • Os desenvolvedores escrevem o código e confirmam as alterações no repositório compartilhado
  • Depois disso, o servidor de CI monitora o repositório e avalia todas as mudanças
  • CI constrói o sistema e realiza integração e testes de unidade
  • O servidor libera artefatos implantáveis
  • O servidor de integração contínua atribui uma tag de construção à versão e ao código de construção
  • Em seguida, o servidor de CI relata a equipe sobre a construção bem-sucedida. Se os testes falharem, o servidor alerta sobre o evento para a equipe de desenvolvimento. A equipe resolverá os problemas o mais rápido possível.

DIFERENÇA CHAVE

  • Travis CI é uma ferramenta comercial de CI, enquanto Jenkins é uma ferramenta de código aberto.
  • O Travis CI leva muito menos tempo para começar, enquanto o Jenkins precisa de uma configuração elaborada.
  • O Travis CI oferece menos opções de personalização, enquanto o Jenkins oferece várias opções de personalização.
  • O Travis CI tem um arquivo de configuração YAML, enquanto o Jenkins oferece uma opção de configuração completa para o usuário.

O que é Travis CI?

Travis CI foi a primeira ferramenta de CI como serviço. Ele introduziu uma nova abordagem para a construção de código na nuvem. Essa ferramenta de CI permite que o usuário se inscreva, vincule seu repositório, crie, bem como teste seus aplicativos.

A ferramenta Travis CI pode se integrar facilmente com os repositórios de nuvem comuns, como GitHub e Bitbucket. Ele oferece muitas opções de CI automatizadas que eliminam a necessidade de um servidor dedicado, pois o servidor Travis CI está hospedado na nuvem. Isso permite que você teste em diferentes ambientes, em várias máquinas, rodando em diferentes sistemas operacionais.

Travis CI é gratuito para projetos de código aberto. Para projetos comerciais, você precisa adquirir um plano empresarial.

O que é Jenkins?

Jenkins é uma ferramenta de integração contínua premiada que monitora as execuções dos ciclos de implantação. Tudo começou como um projeto paralelo do grupo de engenheiros de software da Sun. Mais tarde, foi expandido como uma das ferramentas de CI de código aberto populares que ajudam as equipes de desenvolvimento de software a automatizar suas implantações.

Jenkins é uma ferramenta baseada em Java, o que significa que você só precisa do Java Runtime Environment para operá-lo. Portanto, o Jenkins pode ser instalado em qualquer sistema operacional em que o Java seja executado.

Nesta ferramenta, os desenvolvedores também podem especificar condições para compilações personalizadas. Jenkins oferece suporte a um enorme arquivo de plugins. Isso permite que os desenvolvedores alterem a aparência e o funcionamento do Jenkin.

Além disso, o conjunto de plug-ins Jenkins Pipeline vem com ferramentas especiais que permitem aos desenvolvedores modelar pipelines de entrega fáceis de complexos usando o método DSL (linha de assinatura digital).

O que Travis faz?

Travis CI oferece os seguintes benefícios:

  • Você pode monitorar projetos GitHub
  • Executa o teste e gera resultados rapidamente. A execução de teste paralela é possível.
  • Crie artefatos e verifique a qualidade do código
  • Fácil implantação para serviços em nuvem
  • Ele pode identificar pequenas e grandes alterações de código.
  • Os desenvolvedores podem usar o Travis CI para observar os testes durante a execução.
  • A ferramenta se integra com Slack, HipChat, Email, etc.

O que Jenkin faz?

O Jenkins permite automatizar suas tarefas de construção, teste e implantação. A ferramenta oferece suporte para diferentes sistemas operacionais, como sistemas Windows, Mac OSX e Linux.

Além disso, o Jenkins oferece a capacidade de criar e testar rapidamente seu código para obter feedback antecipado sobre se ele está pronto para produção ou não. Na maioria dos casos, Jenkin exigirá poucas modificações de acordo com os requisitos personalizados de sua equipe.

Recursos do Travis CI:

  • Integração automática com GitHub
  • Acesso ao repositório para criar solicitações pull
  • Suporte para 21 linguagens como Android, C, C #, C ++, Java, JavaScript (com Node.js), Perl, PHP, Python, R, Ruby, etc
  • Ferramentas de compilação e teste pré-instaladas
  • Serviços disponíveis - bancos de dados, filas de mensagens, etc.
  • Implantação para vários serviços em nuvem
  • Criptografar variáveis ​​ou arquivos de ambiente seguro
  • Máquinas virtuais recriadas após cada construção
  • Cliente CLI e API para script
  • Vem com hospedagem gratuita baseada em nuvem que não requer manutenção ou administração.

Recursos do Jenkin:

  • Fácil de instalar, atualizar e configurar
  • Construções Distribuídas
  • Monitoramento de trabalhos externos
  • Mais de 600 plug-ins para personalizar seu ambiente Jenkins
  • Mais de 1000 repositórios públicos no Github, mais de 500 contribuidores, forte atividade de commit
  • Suporte para vários métodos de autenticação, sistemas de controle de versão, notificação, etc.
  • Jenkins fornece API de acesso remoto e suas funcionalidades.
  • Fornece uma ferramenta poderosa de CI / CD para grandes projetos
  • Ele suporta vários modelos de trabalho como Freestyle, Pipeline, etc.,
  • Permite que os desenvolvedores adicionem suas extensões
  • Compatível com Docker, Libvirt, Kubernetes e muitos outros programas

Travis x Jenkins

Parâmetro Jenkin Travis
Custo Jenkins está livre. Mas a equipe de desenvolvimento precisa executar e manter seu servidor dedicado. Isso pode ser considerado uma despesa extra. Os pacotes empresariais do Travis CI custam a partir de US $ 129 por mês. Aumento de custos com base no nível de suporte necessário.
Tempo de preparação Jenkins precisa de uma configuração elaborada. Portanto, você terá um tempo de espera muito longo para a instalação completa. Leva muito menos tempo para começar. Crie um arquivo de configuração e comece a integração.
Desempenho Se você está procurando uma ferramenta de CI com opções de personalização ilimitadas, o Jenkins é a melhor escolha para você. Travis CI é a melhor escolha se você estiver trabalhando em um projeto de código aberto.
Tipo de ferramenta É um código-fonte aberto para usar a ferramenta. É uma ferramenta comercial de CI
Uso Fácil de usar Flexível para usar
Github Bom para Github Excelente para Github
Apoio, suporte Amplo suporte da comunidade. Suporte limitado para a comunidade.
Prós
  • A personalização é o maior benefício do servidor de CI Jenkins
  • Um extenso arquivo de plugins pode ser configurado para mudar a aparência do Jenkins.
  • Você também pode adicionar novas funcionalidades, como autenticação, alertas e credenciais.
  • Integração com GitHub e nuvem
  • Projetos de código aberto ilimitados com funcionalidade total
  • Configuração extensiva do projeto por meio do arquivo .travis.ymi
  • Permite testes de cluster e os executa em paralelo
  • Vários ambientes de construção e plataformas de destino (ou seja, Node 0.10,0.8,0.6, Li on).
Contras
  • Uma grande desvantagem do Jenkins para integração contínua é que ele é altamente configurável. Não há configuração pronta para uso. É por isso que pode levar de duas a três horas a dias para que tudo seja configurado no sistema.
  • Os maiores contras de instalar o Travis CI é que seus planos comerciais começam em $ 129 / m, o que é bastante caro.
  • Não é adequado para projetos de alta segurança
  • Ao contrário de outras ferramentas de CI, ele não oferece suporte para Bitbucket.
Planos de Uso Livre Gratuito para projetos de código aberto. No entanto, pago pela empresa.
Máquina Servidor Baseado em servidor Baseado em nuvem
Opções de Personalização Mais Menos
Configuração Totalmente personalizável YAML
Controle no sistema Completo Muito menos

Índice de popularidade

O número de perguntas rotuladas como Jenkins e Travis no Stack Overflow.

Qual é melhor?

Assim, com a discussão acima, podemos concluir que Travis e Jenkins oferecem recursos maravilhosos. No entanto, pequenos projetos de código aberto são mais adequados para o Travis CI, pois é fácil de executar e rápido de configurar. Por outro lado, a grande empresa é mais adequada para Jenkins, pois oferece licenciamento gratuito para um projeto privado e uma ampla gama de recursos personalizáveis. Portanto, podemos dizer que essas duas ferramentas de integração contínua são boas em seu caminho.