web-dev-qa-db-fra.com

Jenkins vs Travis-CI. Lequel utiliseriez-vous pour un projet Open Source?

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?

254
Juan Luis

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:

  • Travis YML Plugin - attention: ne semble pas être populaire, probablement pas complet en comparaison avec le vrai Travis.
  • Jervis - Modification de Jenkins pour lui permettre de lire des travaux de création à partir d'un fichier .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):


Comment choisir ?

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:

  • interne → Jenkins ou gitlab-ci
  • Github.com → Travis-CI

Pour configurer Travis-CI sur un projet github, il vous suffit 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 effectuera vos tests pour chaque Push effectuée sur votre repo
  • Travis effectuera vos tests à chaque demande de tirage que feront les contributeurs
278
Thomasleveil

J'ai travaillé sur Travis et Jenkins: je vais énumérer quelques-unes des caractéristiques des deux:

Configurer CI pour un projet

Travis vient en première place. C'est très facile à installer. Cela prend moins d’une minute pour installer GitHub.

  1. Se connecter à GitHub
  2. Créer un crochet Web pour Travis (edit:
  3. Revenez dans Travis et connectez-vous avec vos informations d'identification GitHub.
  4. Synchronisez votre dépôt GitHub et activez les demandes Push et Pull.

Jenkins:

  1. Créer un environnement (Master Jenkins)
  2. Créer des points d'ancrage Web
  3. Configurez chaque travail (prend du temps comparé à Travis)

Re-exécuter des builds

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.

Environnement de contrôle

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é.

Construire des journaux:

Travis: Prend en charge les journaux de construction à placer dans Amazon S3.

Jenkins: Facile à installer avec le plugin Build Artefacts.

42
rameshthoomu

Je suggérerais Travis pour le projet open source. C'est simple à configurer et à utiliser.

Étapes simples pour la configuration:

  1. Devrait avoir un compte GITHUB et s'inscrire sur le site Web Travis CI en utilisant votre compte GITHUB.
  2. Ajoutez le fichier .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.

27
appsntech