Jenkins vs Travis-CI: Quelle est la différence?

Table des matières:

Anonim

Qu'est-ce que CI?

L'intégration continue est une méthode de développement logiciel où les membres de l'équipe peuvent intégrer leur travail au moins une fois par jour. Dans cette méthode, chaque intégration est vérifiée par une construction automatisée pour rechercher l'erreur. Le concept CI a été introduit pour la première fois il y a plus de deux décennies pour éviter «l'enfer de l'intégration», qui se produit lorsque l'intégration est reportée à la fin d'un projet.

Dans ce tutoriel, vous apprendrez

  • Qu'est-ce que CI?
  • Qu'est-ce que Travis CI?
  • Qu'est-ce que Jenkins?
  • Que fait Travis?
  • Qu'a fait Jenkin?
  • Caractéristiques Travis CI:
  • Caractéristiques Jenkin:
  • Travis contre Jenkins
  • Indice de popularité
  • Ce qui est mieux?

Comment fonctionne CI?

  • Les développeurs écrivent du code et valident les modifications dans le référentiel partagé
  • Après cela, le serveur CI surveille le référentiel et évalue toutes les modifications
  • CI construit le système et effectue l'intégration et les tests unitaires
  • Le serveur libère des artefacts déployables
  • Le serveur d'intégration continue attribue une balise de construction à la version et au code du bâtiment
  • Ensuite, le serveur CI informe l'équipe de la construction réussie. Si les tests échouent, le serveur alerte sur l'événement à l'équipe de développement. L'équipe résoudra les problèmes le plus rapidement possible.

DIFFÉRENCE CLÉ

  • Travis CI est un outil CI commercial tandis que Jenkins est un outil open source.
  • Travis CI prend très moins de temps pour démarrer tandis que Jenkins a besoin d'une configuration élaborée.
  • Travis CI offre moins d'options de personnalisation tandis que Jenkins propose de vastes options de personnalisation.
  • Travis CI a un fichier de configuration YAML tandis que Jenkins fournit une option de configuration complète à l'utilisateur.

Qu'est-ce que Travis CI?

Travis CI a été le premier CI en tant qu'outil de service. Il a introduit une nouvelle approche du code de construction dans le cloud. Cet outil CI permet à l'utilisateur de s'inscrire, de lier son référentiel, de créer et de tester ses applications.

L'outil Travis CI peut facilement s'intégrer aux référentiels cloud courants tels que GitHub et Bitbucket. Il offre de nombreuses options de CI automatisées qui éliminent le besoin d'un serveur dédié car le serveur Travis CI est hébergé dans le cloud. Cela vous permet de tester dans différents environnements, sur différentes machines, fonctionnant sur différents systèmes d'exploitation.

Travis CI est gratuit pour les projets open source. Pour les projets commerciaux, vous devez acheter un plan d'entreprise.

Qu'est-ce que Jenkins?

Jenkins est un outil d'intégration continue primé qui surveille les exécutions des cycles de déploiement. Il a commencé comme un projet parallèle du groupe d'ingénieurs logiciels de Sun. Plus tard, il a été développé comme l'un des outils CI open source populaires qui aident les équipes de développement logiciel à automatiser leurs déploiements.

Jenkins est un outil basé sur Java, ce qui signifie que vous n'avez besoin que de Java Runtime Environment pour le faire fonctionner. Par conséquent, Jenkins peut être installé sur n'importe quel système d'exploitation sur lequel Java s'exécute.

Dans cet outil, les développeurs peuvent également spécifier des conditions pour les versions personnalisées. Jenkins prend en charge une énorme archive de plugins. Cela permet aux développeurs de modifier l'apparence et le fonctionnement de Jenkin.

De plus, la suite de plugins Jenkins Pipeline est fournie avec des outils spéciaux qui permettent aux développeurs de modéliser des pipelines de livraison faciles à complexes à l'aide de la méthode DSL (Digital Subscribe line).

Que fait Travis?

Travis CI offre les avantages suivants:

  • Vous pouvez surveiller les projets GitHub
  • Exécute des tests et génère des résultats rapidement. L'exécution de tests parallèles est possible.
  • Créez des artefacts et vérifiez la qualité du code
  • Déploiement facile vers les services cloud
  • Il peut identifier les changements de code petits et grands.
  • Les développeurs peuvent utiliser Travis CI pour regarder les tests lorsqu'ils sont en cours d'exécution.
  • L'outil s'intègre à Slack, HipChat, Email, etc.

Que fait Jenkin?

Jenkins vous permet d'automatiser vos tâches de construction, de test et de déploiement. L'outil prend en charge différents systèmes d'exploitation tels que les systèmes Windows, Mac OSX et Linux.

De plus, Jenkins vous donne la possibilité de créer et de tester rapidement votre code pour obtenir des informations précoces sur s'il est prêt pour la production ou non. Dans la plupart des cas, Jenkin nécessitera quelques modifications en fonction des exigences personnalisées de votre équipe.

Caractéristiques Travis CI:

  • Intégration automatique avec GitHub
  • Accès au référentiel pour créer des pull requests
  • Prise en charge de 21 langages comme Android, C, C #, C ++, Java, JavaScript (avec Node.js), Perl, PHP, Python, R, Ruby, etc.
  • Outils de compilation et de test préinstallés
  • Services disponibles - bases de données, files d'attente de messages, etc.
  • Déploiement sur plusieurs services cloud
  • Crypter des variables ou des fichiers d'environnement sécurisé
  • Machines virtuelles recréées après chaque build
  • Client CLI et API pour les scripts
  • Livré avec un hébergement gratuit basé sur le cloud qui ne nécessite ni maintenance ni administration.

Caractéristiques Jenkin:

  • Facile à installer, mettre à niveau et configurer
  • Builds distribués
  • Suivi des emplois externes
  • Plus de 600 plugins pour personnaliser votre environnement Jenkins
  • Plus de 1000 référentiels publics sur Github, plus de 500 contributeurs, forte activité de commit
  • Prise en charge de diverses méthodes d'authentification, systèmes de contrôle de version, notification, etc.
  • Jenkins fournit une API d'accès à distance et ses fonctionnalités.
  • Fournir un outil CI / CD puissant pour les grands projets
  • Il prend en charge divers modèles de travail tels que Freestyle, Pipeline, etc.,
  • Permet aux développeurs d'ajouter leurs extensions
  • Compatible avec Docker, Libvirt, Kubernetes et de nombreux autres programmes

Travis contre Jenkins

Paramètre Jenkin Travis
Coût Jenkins est gratuit. Mais l'équipe de développement doit exécuter et maintenir son serveur dédié. Cela pourrait être considéré comme une dépense supplémentaire. Les suites d'entreprise Travis CI commencent à 129 $ par mois. Augmentation des coûts en fonction du niveau d'assistance dont vous avez besoin.
Temps d'installation Jenkins a besoin d'une configuration élaborée. Vous aurez donc un temps d'attente très long pour l'installation complète. Il faut très peu de temps pour commencer. Créez un fichier de configuration et commencez à intégrer.
Performance Si vous recherchez un outil CI avec des options de personnalisation illimitées, Jenkins est le meilleur choix pour vous. Travis CI est le meilleur choix si vous travaillez dans un projet open source.
Type d'outil C'est un logiciel open-source gratuit pour utiliser l'outil. C'est un outil CI commercial
Usage Facile à utiliser Utilisation flexible
Github Bon pour Github Excellent pour Github
Soutien Un large soutien de la communauté. Soutien limité pour la communauté.
Avantages
  • La personnalisation est le plus grand avantage du serveur Jenkins CI
  • Une archive étendue de plugins peut être configurée pour changer l'apparence de Jenkins.
  • Vous pouvez également ajouter de nouvelles fonctionnalités telles que l'authentification, les alertes et les informations d'identification.
  • Intégration avec GitHub et cloud
  • Projets open source illimités avec toutes les fonctionnalités
  • Configuration de projet étendue via le fichier .travis.ymi
  • Permet les tests de cluster et les exécute en parallèle
  • Plusieurs environnements de construction et plates-formes cibles (c'est-à-dire Node 0.10,0.8,0.6, Li on).
Les inconvénients
  • Un inconvénient majeur de Jenkins pour l'intégration continue est qu'il est hautement configurable. Il n'y a pas de configuration prête à l'emploi. C'est pourquoi cela peut prendre de deux à trois heures à plusieurs jours pour tout configurer dans le système.
  • Le plus gros inconvénient de l'installation de Travis CI est que ses plans commerciaux commencent à 129 $ / m, ce qui est assez cher.
  • Ne convient pas aux projets de haute sécurité
  • Contrairement aux autres outils CI, il n'offre pas de support Bitbucket.
Plans d'utilisation Libérer Gratuit pour les projets open source. Cependant, payé pour l'entreprise.
Machine serveur Basé sur un serveur Basé sur le cloud
Options de personnalisation Suite Moins
Configuration Entièrement personnalisable YAML
Contrôle sur le système Complet Très moins

Indice de popularité

Le nombre de questions intitulées Jenkins et Travis dans Stack Overflow.

Ce qui est mieux?

Ainsi, avec la discussion ci-dessus, nous pouvons obtenir que Travis et Jenkins offrent tous deux de merveilleuses fonctionnalités. Cependant, les petits projets open source sont les mieux adaptés pour Travis CI car il est facile à exécuter et rapide à mettre en place. D'autre part, les grandes entreprises sont les mieux adaptées à Jenkins car elles offrent des licences gratuites pour un projet privé et un large éventail de fonctionnalités personnalisables. Ainsi, nous pouvons dire que ces deux outils d'intégration continue sont bons à leur manière.