Pour mon projet, je dois choisir entre Jenkins et Travis-CI. J’utilise Jenkins depuis des années, mais j’ai également lu de bonnes critiques sur Travis-CI.
Lequel utiliseriez-vous pour un projet Open Source? Quels sont les principaux avantages ou avantages des deux?
Travis-ci et Jenkins, bien que les deux outils d’intégration continue sont très différents.
Travis est un service hébergé (gratuit pour open source) pendant que vous devez héberger, installer et configurer Jenkins.
Travis n'a pas de tâches comme dans Jenkins. Les commandes à exécuter pour tester le code proviennent d'un fichier nommé .travis.yml
qui se trouve le long du code de votre projet. Cela facilite la création de codes de test différents par branche, car chaque branche peut disposer de sa propre version du fichier .travis.yml.
Vous pouvez avoir une fonctionnalité similaire avec Jenkins si vous utilisez l'un des plugins suivants:
.jervis.yml
situé à la racine du code du projet. Si .jervis.yml
n'existe pas, il utilisera plutôt le fichier .travis.yml
.Il existe d'autres services hébergés que vous pourriez également envisager pour une intégration continue (liste non exhaustive):
Vous voudrez peut-être rester avec Jenkins parce que vous le connaissez bien ou que vous ne voulez pas dépendre d'un tiers pour votre système d'intégration continue. Sinon, je laisserais tomber Jenkins et utiliserais l'un des services CI hébergés gratuits, car ils vous épargneraient beaucoup de problèmes (héberger, installer, configurer, préparer des travaux)
Selon l'endroit où votre référentiel de code est hébergé, je ferais les choix suivants:
Pour configurer Travis-CI sur un projet github, il vous suffit de:
Les fonctionnalités que vous obtenez sont:
J'ai travaillé sur Travis et Jenkins: je vais énumérer quelques-unes des caractéristiques des deux:
Travis vient en première place. C'est très facile à installer. Cela prend moins d’une minute pour installer GitHub.
Jenkins:
Travis: Toute personne ayant un accès en écriture sur GitHub peut réexécuter la construction en cliquant sur `redémarrer la construction
Jenkins: Réexécutez les générations en vous basant sur une phrase. Vous fournissez le texte de phrase dans la description PR/commit, comme reverify jenkins
.
Travis: Travis fournit un environnement hébergé. Il installe le logiciel requis pour chaque construction. C’est un processus qui prend du temps.
Jenkins: Configuration unique. Installe tous les logiciels requis sur un noeud/une machine esclave, puis construit/teste sur un environnement pré-installé.
Travis: Prend en charge les journaux de construction à placer dans Amazon S3.
Jenkins: Facile à installer avec le plugin Build Artefacts.
Je suggérerais Travis pour le projet open source. C'est simple à configurer et à utiliser.
Étapes simples pour la configuration:
.travis.yml
à la racine de votre projet. Ajoutez Travis en tant que service dans la page des paramètres de votre référentiel.Maintenant, chaque fois que vous vous engagez dans votre référentiel, Travis construira votre projet. Vous pouvez suivre étapes simples pour commencer avec Travis CI.