Travis-ci et Jenkins, alors que les deux sont des outils d'intégration continue sont très différents.
Travis est un service hébergé (gratuit pour l'open source) pendant que vous devez héberger, installer et configurer Jenkins.
Travis n'a pas d' emploi comme à Jenkins. Les commandes à exécuter pour tester le code proviennent d'un fichier nommé .travis.yml
qui se trouve le long de votre code de projet. Cela permet d'avoir facilement un code de test différent par branche, car chaque branche peut avoir sa propre version du fichier .travis.yml.
Vous pouvez avoir une fonctionnalité similaire avec Jenkins si vous utilisez l'un des plugins suivants:
- Travis YML Plugin - avertissement: ne semble pas être populaire, probablement pas complet par rapport au vrai Travis.
- Jervis - une modification de Jenkins pour le faire lire des jobs de création à partir d'un
.jervis.yml
fichier trouvé à la racine du code du projet. S'il .jervis.yml
n'existe pas, il reviendra à utiliser le .travis.yml
fichier à la place.
Il existe d'autres services hébergés que vous pourriez également envisager pour une intégration continue (liste non exhaustive):
Comment choisir ?
Vous voudrez peut-être rester avec Jenkins parce que vous le connaissez ou ne voulez pas dépendre de tiers pour votre système d'intégration continue. Sinon, je laisserais tomber Jenkins et irais avec l'un des services CI hébergés gratuits car ils vous épargnent 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:
- en interne → Jenkins ou gitlab-ci
- Github.com → Travis-CI
Pour configurer Travis-CI sur un projet github, tout ce que vous avez à faire est de:
- ajoutez un fichier .travis.yml à la racine de votre projet
- créez un compte sur travis-ci.com et activez votre projet
Les fonctionnalités que vous obtenez sont:
- Travis exécutera vos tests pour chaque poussée effectuée sur votre repo
- Travis exécutera vos tests à chaque demande de pull des contributeurs fera
.travis.yml
!) J'ai plusieurs projets Github pour lesquels je gère mon propre Jenkins, et je ne le regrette pas du tout. Si vous avez la possibilité d'exécuter votre propre Jenkins, j'encourage fortement cette option. C'est agréable d'avoir un contrôle à 100% de votre environnement CI.J'ai travaillé sur Travis et Jenkins: je vais énumérer certaines des fonctionnalités des deux:
Configurer CI pour un projet
Travis arrive en première place. C'est très simple à installer. La configuration avec GitHub prend moins d'une minute.
Jenkins:
Re-exécution des builds
Travis: toute personne disposant d'un accès en écriture sur GitHub peut relancer la build en cliquant sur `redémarrer la build
Jenkins: relancez les builds en fonction d'une phrase. Vous fournissez le texte de phrase dans la description PR / commit, comme
reverify jenkins
.Environnement de contrôle
Travis: Travis fournit un environnement hébergé. Il installe le logiciel requis pour chaque build. C'est un processus qui prend du temps.
Jenkins: Configuration unique. Installe tous les logiciels requis sur un nœud / machine esclave, puis crée / teste sur un environnement préinstallé.
Créer des journaux:
Travis: prend en charge les journaux de construction à placer dans Amazon S3.
Jenkins: Facile à installer avec le plugin de génération d'artefacts.
la source
Je suggérerais Travis pour le projet Open source. C'est simple à configurer et à utiliser.
Étapes simples à configurer:
.travis.yml
fichier à la racine de votre projet. Ajoutez Travis en tant que service dans la page des paramètres de votre référentiel.Désormais, chaque fois que vous vous engagez dans votre référentiel, Travis créera votre projet. Vous pouvez suivre des étapes simples pour commencer avec Travis CI.
la source