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

Pour mon projet, j’ai besoin de choisir entre Jenkins et Travis-CI. J’utilise Jenkins depuis des années mais j’ai aussi 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, deux outils d’continuous integration, 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 travail comme à Jenkins. Les commandes à exécuter pour tester le code proviennent d’un fichier nommé .travis.yml qui se trouve dans le code de votre projet. Cela rend facile d’avoir un code de test différent par twig car chaque twig 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 une fonctionnalité complète par rapport au vrai Travis.
  • Jervis – une modification de Jenkins pour le faire lire crée des travaux à partir d’un fichier .jervis.yml trouvé à la racine du code du projet. Si .jervis.yml n’existe pas, il faudra plutôt utiliser le fichier .travis.yml .

Il existe d’autres services hébergés que vous pourriez également envisager pour une continuous integration (liste non exhaustive):

  • Cercle CI
  • Wercker
  • drone.io
  • Gitlab-CI
  • codage
  • livrable
  • sémaphore

Comment choisir ?

Vous voudrez peut-être restr avec Jenkins parce que vous le connaissez ou que vous ne voulez pas dépendre de tiers pour votre système d’continuous integration. Sinon, je laisserais tomber Jenkins et opter pour l’un des services CI hébergés gratuitement car ils vous évitent beaucoup de problèmes (héberger, installer, configurer, préparer des travaux)

En fonction de l’emplacement de votre référentiel de code, je ferais les choix suivants:

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

Pour configurer Travis-CI sur un projet github, il suffit de:

  • Ajouter un fichier .travis.yml à la racine de votre projet
  • créer un compte sur travis-ci.com et activer votre projet

Les fonctionnalités que vous obtenez sont:

  • Travis va exécuter vos tests pour chaque poussée faite sur votre repo
  • Travis exécutera vos tests sur chaque requête de tirage que les consortingbuteurs feront

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

Configurer l’IC pour un projet

Travis arrive en première place. C’est très facile à configurer. Cela prend moins d’une minute pour configurer avec GitHub.

  1. Connectez-vous à GitHub
  2. Créer un hook Web pour Travis ( edit:
  3. Revenez à Travis et connectez-vous avec vos identifiants GitHub
  4. Synchronisez votre repo GitHub et activez les requêtes Push et Pull.

Jenkins:

  1. Créer un environnement (Master Jenkins)
  2. Créer des hooks Web
  3. Configurez chaque travail (prend du temps par rapport à Travis)

Ré-exécuter les builds

Travis: Toute personne ayant un access en écriture sur GitHub peut relancer la construction en cliquant sur `build build

Jenkins: relancez les builds en fonction d’une phrase. Vous fournissez le texte de phrase dans la description de PR / commit, comme reverify jenkins .

Environnement de contrôle

Travis: Travis fournit un environnement hébergé. Il installe le logiciel requirejs pour chaque version. C’est un processus long.

Jenkins: Configuration unique. Installe tous les logiciels requirejs sur une machine nœud / 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 d’artefacts de build.

Je suggérerais un projet Travis for Open Source. C’est simple à configurer et à utiliser.

Étapes simples pour configurer:

  1. Vous devez avoir un compte GITHUB et vous enregistrer sur le site Web de 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 parameters de votre référentiel.

Maintenant, chaque fois que vous vous engagez dans votre référentiel, Travis va construire votre projet. Vous pouvez suivre des étapes simples pour commencer avec Travis CI.