Bamboo et Jenkins sont des serveurs d’automatisation populaires dotés de plug-ins prenant en charge l’intégration continue. Bien qu’ils partagent quelques fonctionnalités, ils diffèrent suffisamment l’un de l’autre pour permettre aux équipes DevOps de déterminer facilement lequel convient le mieux à leurs cas d’usage. Nous comparons ces deux outils afin de les distinguer clairement et de vous aider à prendre une décision éclairée.
Qu’est-ce que Bamboo ?

Bamboo Server est un outil commercial populaire d’intégration continue développé par Atlassian, qui permet aux utilisateurs d’exécuter des builds, des tests et des mises en production automatisés dans un même workflow. Il s’agit d’un outil flexible doté d’une interface utilisateur graphique facile à utiliser, d’une gestion performante des agents de build, d’une fusion automatisée et d’une prise en charge intégrée du déploiement. Voici les principales fonctionnalités de Bamboo.
Intégrations intégrées à Bitbucket Server et au logiciel Jira
L’intégration native avec le célèbre logiciel de suivi des problèmes Jira constitue une fonctionnalité majeure de Bamboo. Elle permet de consulter les informations relatives aux builds et aux déploiements, ce qui contribue à maintenir une transparence totale sur la mise en production, la qualité et l’état des versions. L’intégration avec Bitbucket Server est avantageuse pour les équipes à plusieurs égards. Bitbucket Server indique à Bamboo quand lancer un build et quand mettre à jour les branches de plan afin de refléter les modifications apportées aux branches du dépôt. Il affiche également les commits Bitbucket Server dans les builds Bamboo correspondants.
Workflows de branches Git intégrés
Bamboo prend en charge la fusion automatisée afin de simplifier le processus de fusion des branches Git. Avec Bamboo, vous pouvez détecter, tester et créer automatiquement de nouvelles branches, puis fusionner les branches lorsque les tests sont concluants grâce aux workflows et à la gestion intégrés des branches Git. Vous pouvez également utiliser les noms de branches pour déployer continuellement du code sur des serveurs de préproduction et de production.
Automatisation des tests
Bamboo ne se contente pas d’exécuter automatiquement les tests et les builds : il permet également à vos workflows de prendre automatiquement des décisions éclairées à partir des résultats des tests. L’automatisation des tests permet aussi d’accélérer les builds et les déploiements.
Prise en charge de l’exécution parallèle
Bamboo prend en charge l’exécution parallèle des tâches afin d’assurer une couverture plus importante avec un temps d’exécution réduit. Cela permet d’accélérer considérablement les builds, les tests et les déploiements sur de nombreuses plateformes.
Prise en charge intégrée du déploiement
Grâce à sa prise en charge intégrée du déploiement, Bamboo peut envoyer automatiquement un flux continu de builds vers les environnements de test. Il peut également publier les builds auprès des utilisateurs lorsqu’ils sont prêts.
Tarification
La structure des niveaux tarifaires de Bamboo repose sur les agents plutôt que sur les utilisateurs, car une augmentation du nombre d’agents permet d’exécuter davantage de processus simultanément. L’abonnement à un seul agent distant coûte 1 200 USD par an. Vous pouvez utiliser jusqu’à 2 000 agents distants. Bamboo propose un essai gratuit de 30 jours.
À lire aussi : Mise à l’échelle du DevOps : bonnes pratiques
Qu’est-ce que Jenkins ?

Jenkins est un serveur d’automatisation open source populaire doté de centaines de plug-ins prenant en charge la création, le déploiement et l’automatisation de projets. Il figure parmi les outils d’intégration continue et de livraison continue (CI/CD) les plus utilisés. Il se distingue par sa nature open source, le soutien important de sa communauté et ses possibilités d’intégration quasi illimitées. Voici quelques fonctionnalités qui décrivent mieux Jenkins.
Jenkins Pipeline
Jenkins Pipeline est un ensemble de plug-ins qui prennent en charge la mise en œuvre et l’intégration de pipelines de livraison continue dans Jenkins. Jenkins Pipeline ajoute une suite d’outils d’automatisation puissants couvrant des cas d’usage allant de l’intégration continue aux pipelines de livraison continue complets.
Extensibilité
Jenkins fournit une API RESTful pour assurer son extensibilité. Vous pouvez exploiter ces API pour déclencher de nouveaux builds, créer des tâches, obtenir des informations liées à la consommation, entre autres actions. Jenkins propose des API d’accès distant pour Python, JSON et XML.
Configuration simplifiée
Vous pouvez installer et configurer Jenkins à l’aide de son interface web. L’aide intégrée et les vérifications d’erreurs effectuées à la volée simplifient l’installation et la configuration de Jenkins. Sa simplicité tient également au fait qu’il s’agit d’un programme Java qui peut être exécuté immédiatement. Si Java est installé sur la machine cible, l’installation est très simple.
Plug-ins
Jenkins offre des possibilités d’intégration illimitées dans la chaîne d’outils d’intégration et de développement continus grâce aux centaines de plug-ins disponibles. Jenkins étant écrit en Java, les plug-ins permettent d’étendre son utilisation à des projets écrits dans différents langages. Ces plug-ins enrichissent les fonctionnalités d’un environnement Jenkins afin de répondre aux besoins spécifiques des utilisateurs.
Nature distribuée
Avec Jenkins, les utilisateurs peuvent facilement répartir le travail sur plusieurs machines. Cela permet d’exécuter plus rapidement les tests, les builds et les déploiements sur différentes plateformes.
Intégration continue et livraison continue
Jenkins peut servir de serveur d’intégration continue de base ou être configuré comme un centre de livraison continue pour les projets, puisqu’il s’agit d’un serveur d’automatisation extensible.
Tarification
Jenkins étant un outil open source, son utilisation est gratuite et son code est hébergé surGitHub.
Bamboo vs Jenkins
| Paramètre | Bamboo | Jenkins |
|---|---|---|
| Conditions de licence | Commercial | Open source |
| Hébergement | Sur site | Auto-hébergé/sur site |
| Écosystème de plug-ins | Près de 200 plug-ins | Plus de 1 800 plug-ins |
| Langage d’origine | Java | Java |
| API REST | ✅ | ✅ |
| Parallélisme | ✅(partiel) | ✅ |
| Workflows de branches Git intégrés | ✅ | ❌ |
| Intégration native avec le logiciel Jira | ✅ | ❌ |
Commercial ou open source
Puisqu’il est open source, Jenkins est gratuit. Cela le rend attrayant pour les équipes qui cherchent à accélérer leurs processus de test et de build. Les start-up en phase de démarrage font notamment partie des équipes correspondant à ce profil.
Avec son essai gratuit de 30 jours, Bamboo est un produit commercial qui s’adresse aux équipes de toutes tailles. La tarification dépend de la taille de l’équipe, du nombre de tâches et du nombre d’agents.
Hébergement
Un paramètre qui distingue Bamboo et Jenkins est l’endroit où sont hébergés les outils CI/CD. Bamboo est uniquement disponible sur site, car sa version cloud a été arrêtée en 2017.
Jenkins existe en versions sur site et cloud. Il convient parfaitement à une installation cloud pour les pipelines auto-hébergés. Vous pouvez utiliser la version sur site de Jenkins pour les tests DevOps et concevoir une architecture évolutive. Jenkins se révèle avantageux pour les outils CI/CD cloud.
Parallélisme
Bamboo et Jenkins prennent tous deux en charge les builds parallèles. Dans Bamboo, le parallélisme se caractérise par l’exécution d’une seule tâche à chaque étape par défaut, mais plusieurs tâches peuvent être regroupées. Au moins un agent est nécessaire pour traiter les tâches en parallèle dans Bamboo. Les étapes sont exécutées séquentiellement : une nouvelle étape ne démarre que lorsque toutes les tâches de l’étape précédente sont terminées.
Dans Jenkins, le parallélisme se concentre toutefois sur le pipeline afin de permettre une exécution flexible des tâches. Vous pouvez configurer l’exécution parallèle des tests dans le langage de votre choix. Le parallélisme dans Jenkins permet également de configurer les builds Jenkins comme des builds paramétrés. Néanmoins, Jenkins ne prend en charge qu’un parallélisme partiel pour les tests DevOps, car les builds partagent le même environnement.
Popularité
Une comparaison dansGoogle Trends de Jenkins et Bamboo montre que Jenkins suscite beaucoup plus d’intérêt au fil du temps que Bamboo. Il convient de préciser que Jenkins existe depuis bien plus longtemps que Bamboo, ce qui peut expliquer en partie sa popularité.
Prise en charge des plug-ins
La nature open source de Jenkins lui confère un avantage en matière d’écosystème de plug-ins. Une vaste communauté mondiale contribue largement à la création de nouveaux plug-ins. Actuellement, la communauté Jenkins a créé plus de1 800 plug-ins pour prendre en charge la création, le déploiement, les tests DevOps et l’automatisation des projets.
Sur la marketplace Atlassian, Bamboo proposeprès de 200 plug-ins et modules complémentaires, avec un mélange d’applications premium et gratuites. Le grand nombre de plug-ins Jenkins en fait un choix préférable à Bamboo en matière de prise en charge des plug-ins.
Écosystème de support
La communauté Jenkins est plus impliquée que celle de Bamboo, puisque Jenkins est un projet open source. Le nombre de plug-ins Jenkins dépasse celui de la plupart des outils CI/CD en raison de la taille de sa communauté. De plus, les utilisateurs de Jenkins bénéficient d’une documentation active et d’une aide au dépannage grâce au fort engagement de la communauté. Jenkins dispose également d’un blog communautaire qui tient celle-ci informée de toute l’actualité de Jenkins.
À l’inverse, le forum d’assistance de Bamboo fait partie de la communauté Atlassian, et les articles consacrés à Bamboo sont publiés sur le blog officiel d’Atlassian. Jenkins dispose d’un meilleur soutien communautaire des deux. Toutefois, en tant que composant de l’écosystème Atlassian, Bamboo peut être plus attrayant pour les développeurs qui utilisent d’autres produits Atlassian.
Expérience utilisateur
Bamboo offre une meilleure expérience utilisateur, car il est plus facile à utiliser que Jenkins. Il est plus clair, plus intuitif et guide les utilisateurs à travers les différents états des tâches de build et de déploiement. Jenkins sacrifie l’expérience utilisateur au profit des fonctionnalités.
Choisir une plateforme : Bamboo vs Jenkins
L’outil CI/CD idéal dépend de votre budget, des fonctionnalités recherchées et de l’expérience utilisateur souhaitée. Dans ce cas, Jenkins est gratuit et offre de meilleures fonctionnalités. Toutefois, Jenkins peut présenter une courbe d’apprentissage pour vous et votre équipe, puisque vous êtes responsables de la personnalisation des plug-ins.
Bamboo offre une meilleure expérience utilisateur et mérite d’être envisagé si vous utilisez déjà d’autres produits de l’écosystème Atlassian. En plus de ces facteurs, veillez à tester les outils afin de vous assurer que votre choix convient parfaitement à votre cas d’usage.
À lire ensuite : Les meilleurs outils et logiciels DevOps de 2022