Para o meu projeto, preciso escolher entre Jenkins e Travis-CI. Uso Jenkins há anos, mas também li boas críticas sobre o Travis-CI.
Qual você usaria para um projeto Open Source? Quais são os principais benefícios ou vantagens de ambos?
fonte
Para o meu projeto, preciso escolher entre Jenkins e Travis-CI. Uso Jenkins há anos, mas também li boas críticas sobre o Travis-CI.
Qual você usaria para um projeto Open Source? Quais são os principais benefícios ou vantagens de ambos?
Travis-ci e Jenkins, enquanto ambos são ferramentas para integração contínua, são muito diferentes.
O Travis é um serviço hospedado (gratuito para código aberto) enquanto você precisa hospedar, instalar e configurar o Jenkins.
Travis não tem empregos como em Jenkins. Os comandos a serem executados para testar o código são obtidos de um arquivo nomeado .travis.yml
localizado ao longo do código do projeto. Isso facilita a existência de código de teste diferente por ramificação, pois cada ramificação pode ter sua própria versão do arquivo .travis.yml.
Você pode ter um recurso semelhante ao Jenkins se usar um dos seguintes plugins:
.jervis.yml
arquivo encontrado na raiz do código do projeto. Se .jervis.yml
não existir, ele voltará a usar o .travis.yml
arquivo.Existem outros serviços hospedados que você também pode considerar para a integração contínua (lista não exaustiva):
Você pode querer ficar com o Jenkins porque está familiarizado com ele ou não deseja depender de terceiros para o seu sistema de integração contínua. Caso contrário, eu abandonaria o Jenkins e utilizaria um dos serviços de IC hospedados gratuitos, pois eles economizariam muitos problemas (hospedar, instalar, configurar, preparar tarefas)
Dependendo de onde seu repositório de código está hospedado, eu faria as seguintes escolhas:
Para configurar o Travis-CI em um projeto do github, tudo que você precisa fazer é:
Os recursos que você recebe são:
.travis.yml
!) Eu tenho vários projetos no github para os quais estou executando o meu próprio Jenkins, e não me arrependo nem um pouco. Se você tem a capacidade de administrar seu próprio Jenkins, eu incentivaria essa opção. É bom ter 100% de controle do seu ambiente de IC.Trabalhei em Travis e Jenkins: vou listar alguns dos recursos de ambos:
Configurar IC para um projeto
Travis vem em primeiro lugar. É muito fácil de configurar. Demora menos de um minuto para configurar com o GitHub.
Jenkins:
Re-executando compilações
Travis: Qualquer pessoa com acesso de gravação no GitHub pode executar novamente a compilação clicando em `reiniciar a compilação
Jenkins: execute novamente as compilações com base em uma frase. Você fornece o texto da frase na descrição PR / commit, como
reverify jenkins
.Ambiente de controle
Travis: Travis fornece ambiente hospedado. Ele instala o software necessário para cada compilação. É um processo demorado.
Jenkins: configuração única. Instala todo o software necessário em uma máquina nó / escravo e depois cria / testa em um ambiente pré-instalado.
Criar logs:
Travis: oferece suporte à criação de logs no Amazon S3.
Jenkins: Fácil de configurar com o plug-in de artefatos de construção.
fonte
Eu sugeriria o projeto Travis para código aberto. É simples de configurar e usar.
Etapas simples de configuração:
.travis.yml
arquivo na raiz do seu projeto. Adicione o Travis como serviço na sua página de configurações do repositório.Agora, toda vez que você se comprometer em seu repositório, o Travis criará seu projeto. Você pode seguir etapas simples para começar a usar o Travis CI.
fonte