Bamboo vs Jenkins : Quel outil CI/CD utiliser?
On octobre 7, 2021 by adminDe nos jours, il est impossible de parler de développement logiciel sans parler de DevOps, et l’intégration continue et la livraison continue sont des points majeurs à considérer, car leurs meilleures pratiques peuvent entraîner de meilleurs plans de déploiement, moins de bugs dans vos versions et un retour d’information plus rapide de vos processus.
Quelle est la meilleure façon d’avoir des mises à jour constantes et de publier des versions fiables ? Quels outils devriez-vous utiliser ? Ces questions conduisent de nombreuses équipes à chercher une comparaison entre Bamboo et Jenkins – après tout, n’est-ce pas la raison pour laquelle vous êtes sur cette page ?
Nous allons examiner en profondeur Bamboo et Jenkins d’Atlassian et définir certains des différenciateurs en tant qu’outil d’intégration continue.
Bamboo Continuous Integration
En 2007, Atlassian a annoncé la première version de Bamboo pour sauter dans cette niche émergente du marché. Ce que Bamboo apporte est une combinaison puissante d’organisation, de flexibilité, d’interface graphique facile et de méthodologies CI/CD pour offrir une grande expérience lors de la création de vos plans de construction et de déploiement. L’objectif principal d’Atlassian Bamboo est d’aider votre livraison de logiciels à être flexible et solide (presque incassable) comme un bambou.
Bamboo se déroule du code au déploiement:
Vous pouvez voir ici comment organiser vos builds à travers une structure bien définie. Sur Bamboo, vous créez des plans (construire ou déployer), puis définissez des Stages, des Jobs et des Tâches – tous très flexibles et faciles à configurer via l’interface utilisateur.
À l’intérieur de votre Plan, vous pouvez avoir plusieurs Stages. Selon la documentation d’Atlassian, chaque Stage :
- « A un seul Job par défaut, mais peut être utilisé pour regrouper plusieurs Jobs,
- Traite ses Jobs en parallèle, sur plusieurs agents (lorsqu’ils sont disponibles),
- Doit terminer avec succès tous ses Jobs avant que le prochain stage du plan puisse être traité,
- Peut produire des artefacts qui peuvent être mis à disposition pour être utilisés par un Stage ultérieur. »
Sous les Stages, vous avez les Jobs, qui sont un groupe de Tâches (vos éléments centraux à exécuter). Selon la documentation d’Atlassian, un Job :
- « Traite une série d’une ou plusieurs Tâches qui sont exécutées séquentiellement sur le même agent,
- Contrôle l’ordre dans lequel les Tâches sont exécutées,
- Collecte les exigences des tâches individuelles dans le Job, afin que ces exigences puissent être mises en correspondance avec les capacités de l’agent,
- Définit les artefacts que la construction produira,
- Ne peut utiliser que les artefacts produits dans une étape précédente,
- Spécifie toute étiquette avec laquelle le résultat de la construction ou les artefacts de la construction seront étiquetés. »
Bamboo devient plus fort avec son intégration intégrée avec d’autres outils Atlassian, tels que Jira Software et Bitbucket Server. Vous pouvez obtenir une visibilité sur les changements de code, les résultats de construction et les détails des déploiements à travers les plateformes.
Pour un usage intensif, vous pouvez profiter des agents de construction à distance, y compris les agents de construction élastiques (Amazon EC2), afin que vous ayez des constructions distribuées sur plusieurs serveurs, réduisant ainsi le temps d’attente.
Les principales fonctionnalités comprennent :
- « Intégration de Jira Software et de Bitbucket Server pour une visibilité de bout en bout sur la mise en œuvre, la qualité et l’état des versions.
- Envoyez un flux continu de builds vers les environnements de test et diffusez automatiquement les builds aux clients.
- Gestion impressionnante des agents de build qui vous permet de faire évoluer la capacité de build en connectant des serveurs sur votre réseau en utilisant Amazon EC2. Vous cal visualisez les exigences du système pour chaque build avec la fonctionnalité Agent Matrix, ce qui vous permet d’affecter les builds aux bons agents.
- Fusion automatisée entre les branches Git et Mercurial.
- Juste à partir du nom de la branche, vous pouvez automatiquement détecter, construire, tester et fusionner les branches pour déployer le code en continu sur les serveurs de production ou de staging.
- Un support et des ressources sont disponibles pour les équipes d’entreprise. «
Les détails techniques sur les plateformes prises en charge comprennent :
- Bamboo fonctionne sur Java (prend actuellement en charge Java 1.8)
- OS pris en charge : Microsoft Windows, Linux, Solaris, et MacOS / OSX
- Bases de données supportées : Mysql, Postgres, SQL Server et Oracle
- Navigateurs Web pris en charge : Firefox, Chrome, Safari, Microsoft Edge et IE 11
- Dépôt de sources : GIT, Mercurial, Subversion et Perforce
- Docker pour Mac / Linux (17 ou plus récent)
Intégration continue Jenkins
Premièrement publié en 2004 (anciennement nommé Hudson), Jenkins est l’un des outils CI les plus populaires disponibles. Suivant la même idée que Bamboo, il aborde les méthodologies CI/CD pour permettre aux équipes de construire, tester et déployer des logiciels de qualité.
Jenkins est une application open source gratuite. Elle dispose d’une énorme communauté qui contribue à maintenir et à améliorer l’application et son écosystème. L’un de ses avantages est qu’elle dispose de centaines de plugins, qui permettent aux clients de façonner Jenkins pour répondre à presque tous les processus CI/CD souhaités.
Voici un exemple de scénario qui peut être réalisé avec Jenkins:
Les principales fonctionnalités comprennent:
- « Intégration continue et livraison continue.
- Installation facile.
- Configuration facile.
- Des centaines de plugins
- Extensible via son architecture de plugins
- Peut facilement distribuer le travail sur plusieurs machines, aidant à conduire les constructions, les tests et les déploiements sur plusieurs plateformes. »
Jenkins a également des fonctionnalités intégrées comme le scriptage directement sur l’interface utilisateur pour créer/mettre à jour des tâches/pipelines. Une version cloud est disponible.
Voici un exemple de Jenkinsfile
utilisant la syntaxe Declarative Pipeline (les définitions peuvent être trouvées sur le lien précédent).
Détails techniques sur les plateformes supportées incluent:
- OS supportés : Microsoft Windows, Linux, Solaris et MacOS
- Navigateurs Web pris en charge : Firefox, Chrome, Safari, Microsoft IE 11
- Dépôt de sources : CVS et Subversion, support intégré pour Git, et s’intègre également à un grand nombre d’autres systèmes de contrôle de version via des plugins.
- Peut être installé en tant que conteneur Docker
Bamboo vs. Jenkins : La comparaison
Les deux applications sont très puissantes et offrent un éventail de fonctionnalités :
Bamboo |
JENKINS |
|
---|---|---|
Construit…dans les flux de travail de branchement Git |
supporté |
x |
Built-dans le déploiement des projets |
supporté |
x |
Built-in intégration du logiciel Jira |
supporté |
x |
Built-dans l’intégration de Bitbucket Server |
supporté |
x |
REST APIs |
supporté |
supporté |
Automatisation des tests |
supporté |
via des plugins |
Autorisations faciles de niveau entreprise-grade permissions |
supporté |
via plugins |
G2Crowd a créé une comparaison basée sur les avis des utilisateurs pour les points suivants :
BAMBOU |
JENKINS |
|
---|---|---|
Répond aux exigences | 8.8 | 8.9 |
Facilité d’utilisation | 8.5 | 7.8 |
Facilité d’installation | 7.5 | 7.8 |
Facilité d’administration | 8.2 | 7.8 |
Qualité du support | 8.2 | 7.6 |
Comme les deux outils visent le même objectif et qu’ils fournissent tous deux un service de haute qualité, comment pouvez-vous savoir quel outil est le meilleur pour vous ? Prenez en considération quelques points :
- Jenkins est un outil open-source, tandis que Bamboo est un outil commercial. Jenkins est un projet soutenu par sa communauté mondiale, et Bamboo a sa propre équipe dédiée à son développement.
- Bamboo a une approche plus conviviale que Jenkins – car généralement, les applications open-source sont plus concernées par d’autres fonctionnalités.
- Jenkins a un nombre énorme de plugins pour permettre aux clients d’atteindre leurs objectifs, tandis que Bamboo est livré avec la plupart des fonctionnalités intégrées et compte avec des centaines de plugins disponibles sur Atlassian Marketplace.
- Bamboo s’intègre parfaitement à la suite Atlassian, offrant une excellente expérience si vous utilisez déjà Jira Software et Bitbucket.
- Jenkins et Bamboo ont tous deux une excellente documentation en ligne, offrant aux clients la possibilité de rechercher et de trouver une solution avant de contacter le support pour obtenir de l’aide.
- Bamboo dispose d’un excellent support professionnel disponible pour les clients sous licence, ainsi que de la documentation en ligne et de l’aide de la communauté Atlassian. Jenkins a un support communautaire et vous pouvez obtenir un support professionnel auprès de Cloudbees.
- Bamboo est un outil payant et le prix dépend de votre utilisation, en fonction du nombre d’agents distants dont vous aurez besoin. Jenkins est un outil gratuit.
C’est une décision assez difficile à prendre, mais nous pouvons vous aider dans cette décision. En tant que partenaires de solution Platinum d’Atlassian, nous pouvons vous montrer tous les avantages de l’utilisation de Bamboo et comment il peut améliorer votre équipe de dev pour tirer le meilleur parti de l’intégration continue avec les outils Atlassian. Que vous soyez une petite équipe de développement ou une opération géante avec des centaines de builds en attente, nous sommes sûrs que Bamboo peut aider à rendre les logiciels livrés plus rapidement et avec une meilleure qualité.
Vous voulez essayer Bamboo ? Entrez en contact avec l’équipe de Valiantys qui peut vous aider avec la licence et le déploiement.
Laisser un commentaire