Bamboo und Jenkins sind beliebte Automatisierungsserver mit Plugins zur Unterstützung der kontinuierlichen Integration. Obwohl sie einige Funktionen gemeinsam haben, unterscheiden sie sich ausreichend voneinander, sodass DevOps-Teams leicht erkennen können, welches Tool sich am besten für ihre Anwendungsfälle eignet. Wir vergleichen die beiden Tools, um sie klar voneinander abzugrenzen und Ihnen eine fundierte Entscheidung zu ermöglichen.
Was ist Bamboo?

Bamboo Server ist ein beliebtes kommerzielles Tool für kontinuierliche Integration von Atlassian, mit dem Nutzer automatisierte Builds, Tests und Releases in einem Workflow ausführen können. Es handelt sich um ein flexibles Tool mit einer benutzerfreundlichen grafischen Benutzeroberfläche, leistungsstarker Verwaltung von Build-Agenten, automatisiertem Zusammenführen und integrierter Unterstützung für Bereitstellungen. Im Folgenden finden Sie die wichtigsten Funktionen von Bamboo.
Integrierte Integrationen für Bitbucket Server und Jira Software
Eine wichtige Funktion von Bamboo ist die integrierte Integration für die beliebte Software zur Problemverfolgung Jira. Dadurch können Sie Build- und Bereitstellungsinformationen einsehen, was für vollständige Transparenz bei der Umsetzung, Qualität und dem Status von Releases sorgt. Die Integration mit Bitbucket Server ist für Teams in mehrfacher Hinsicht von Vorteil. Bitbucket Server teilt Bamboo mit, wann ein Build erstellt und wann Plan-Branches aktualisiert werden müssen, damit sie Änderungen an Repository-Branches widerspiegeln. Außerdem werden Bitbucket-Server-Commits in den relevanten Bamboo-Builds angezeigt.
Integrierte Git-Branching-Workflows
Bamboo unterstützt das automatisierte Zusammenführen, um den Prozess des Zusammenführens von Git-Branches zu optimieren. Mit Bamboo können Sie dank der integrierten Git-Branching-Funktionen und Workflows automatisch neue Branches erkennen, testen und erstellen sowie Branches zusammenführen, wenn die Tests erfolgreich sind. Außerdem können Sie Branch-Namen verwenden, um Code kontinuierlich auf Staging- und Produktionsservern bereitzustellen.
Testautomatisierung
Bamboo führt nicht nur automatisch Tests und Builds aus, sondern ermöglicht es Ihren Workflows auch, auf Grundlage von Testergebnissen automatisch fundierte Entscheidungen zu treffen. Mit der Testautomatisierung können Sie außerdem die Dynamik von Builds und Bereitstellungen skalieren.
Unterstützung für parallele Ausführung
Bamboo unterstützt die parallele Ausführung von Jobs, um eine größere Aufgabenabdeckung bei kürzerer Laufzeit zu gewährleisten. Dadurch können Builds, Tests und Bereitstellungen auf zahlreichen Plattformen deutlich schneller vorangetrieben werden.
Integrierte Unterstützung für Bereitstellungen
Dank der integrierten Unterstützung für Bereitstellungen kann Bamboo kontinuierlich Builds automatisch an Testumgebungen senden. Außerdem kann es Builds für Nutzer freigeben, sobald sie bereit sind.
Preise
Die Struktur der Bamboo-Preisstufen basiert auf Agenten und nicht auf Nutzern, da eine höhere Anzahl von Agenten mehr gleichzeitig ausgeführte Prozesse ermöglicht. Das Abonnement für einen einzelnen Remote-Agenten kostet 1.200 US-Dollar pro Jahr. Sie können bis zu 2.000 Remote-Agenten einsetzen. Bamboo bietet eine kostenlose 30-Tage-Testversion.
Außerdem lesen: DevOps skalieren: Best Practices
Was ist Jenkins?

Jenkins ist ein beliebter Open-Source-Automatisierungsserver mit Hunderten von Plugins zur Unterstützung beim Erstellen, Bereitstellen und Automatisieren von Projekten. Jenkins gehört zu den meistgenutzten Tools für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD). Das Tool zeichnet sich durch seinen Open-Source-Charakter, eine starke Community-Unterstützung und uneingeschränkte Integrationsmöglichkeiten aus. Im Folgenden werden einige Funktionen beschrieben, die Jenkins besser charakterisieren.
Jenkins Pipeline
Jenkins Pipeline ist eine Sammlung von Plugins, die die Implementierung und Integration von Pipelines für kontinuierliche Bereitstellung in Jenkins unterstützt. Jenkins Pipeline ergänzt eine Reihe leistungsstarker Automatisierungswerkzeuge für Anwendungsfälle von der kontinuierlichen Integration bis hin zu umfassenden Pipelines für kontinuierliche Bereitstellung.
Erweiterbarkeit
Jenkins bietet eine RESTful-API zur Erweiterbarkeit. Sie können diese APIs nutzen, um neue Builds auszulösen, Jobs zu erstellen, verbrauchsbezogene Informationen abzurufen und weitere Aktionen auszuführen. Jenkins stellt APIs für den Fernzugriff mit Python, JSON und XML bereit.
Einfache Konfiguration
Sie können Jenkins über die Weboberfläche einrichten und konfigurieren. Die integrierte Hilfe und die während der Einrichtung durchgeführten Fehlerprüfungen vereinfachen die Einrichtung und Konfiguration von Jenkins. Die Einfachheit wird auch dadurch unterstrichen, dass es sich um ein Java-Programm handelt, das direkt ausgeführt werden kann. Wenn auf dem Zielcomputer Java installiert ist, gestaltet sich die Installation unkompliziert.
Plugins
Dank der Hunderte verfügbaren Plugins bietet Jenkins unbegrenzte Integrationsmöglichkeiten in der Toolchain für kontinuierliche Integration und kontinuierliche Entwicklung. Da Jenkins in Java geschrieben ist, erweitern Plugins seine Nutzung auf Projekte in verschiedenen Programmiersprachen. Mit diesen Plugins lässt sich die Funktionalität einer Jenkins-Umgebung an die spezifischen Anforderungen der Nutzer anpassen.
Verteilte Architektur
Mit Jenkins können Nutzer Arbeit problemlos auf mehrere Computer verteilen. Dadurch lassen sich Tests, Builds und Bereitstellungen auf verschiedenen Plattformen schneller vorantreiben.
Kontinuierliche Integration und kontinuierliche Bereitstellung
Jenkins kann als grundlegender Server für kontinuierliche Integration dienen oder aufgrund seiner Erweiterbarkeit als Hub für die kontinuierliche Bereitstellung von Projekten eingerichtet werden.
Preise
Da Jenkins ein Open-Source-Tool ist, ist es kostenlos; der Code wird auf GitHub gehostet.
Bamboo vs. Jenkins
| Parameter | Bamboo | Jenkins |
|---|---|---|
| Lizenzbedingungen | Kommerziell | Open Source |
| Hosting | On-Premises | Self-hosted/On-Premises |
| Plugin-Ökosystem | Fast 200 Plugins | Mehr als 1.800 Plugins |
| Ursprungssprache | Java | Java |
| REST-API | ✅ | ✅ |
| Parallelität | ✅ (teilweise) | ✅ |
| Integrierte Git-Branching-Workflows | ✅ | ❌ |
| Integrierte Jira-Software-Integration | ✅ | ❌ |
Kommerziell vs. Open Source
Da Jenkins Open Source ist, kann es kostenlos genutzt werden. Das macht es für Teams attraktiv, die ihre Test- und Build-Prozesse beschleunigen möchten. Zu dieser Gruppe gehören beispielsweise Start-ups in der Anfangsphase.
Da Bamboo eine kostenlose 30-Tage-Testversion anbietet, handelt es sich um ein kommerzielles Produkt für Teams jeder Größe. Die Preise hängen von der Teamgröße, der Anzahl der Jobs und der Anzahl der Agenten ab.
Hosting
Ein unterscheidendes Merkmal von Bamboo und Jenkins ist der Hosting-Standort der CI/CD-Tools. Bamboo ist ausschließlich als On-Premises-Angebot verfügbar, da die Cloud-Version 2017 eingestellt wurde.
Jenkins ist sowohl als On-Premises- als auch als cloudbasierte Version verfügbar. Es eignet sich gut für die Cloud-Installation selbst gehosteter Pipelines. Die On-Premises-Version von Jenkins können Sie für DevOps-Tests verwenden und auf Skalierbarkeit auslegen. Bei cloudbasierten CI/CD-Tools bietet Jenkins somit Vorteile.
Parallelität
Sowohl Bamboo als auch Jenkins unterstützen parallele Builds. Bei Bamboo ist standardmäßig in jeder Phase ein einzelner Job vorgesehen, mehrere Jobs können jedoch gruppiert werden. Um Jobs in Bamboo parallel zu verarbeiten, ist mindestens ein Agent erforderlich. Die Phasen werden nacheinander ausgeführt, da eine neue Phase erst beginnt, wenn alle Jobs der vorherigen Phase abgeschlossen sind.
Die Parallelität in Jenkins konzentriert sich hingegen auf die Pipeline, um eine flexible Jobausführung zu ermöglichen. Sie können Tests so konfigurieren, dass sie parallel in der Programmiersprache Ihrer Wahl ausgeführt werden. Die Parallelität in Jenkins ermöglicht außerdem, Jenkins-Builds als parametrisierte Builds zu konfigurieren. Für DevOps-Tests unterstützt Jenkins jedoch nur teilweise parallele Ausführung, da die Builds dieselbe Umgebung gemeinsam nutzen.
Popularität
Ein Vergleich der Google Trends von Jenkins und Bamboo zeigt, dass das Interesse an Jenkins im Zeitverlauf deutlich größer ist als an Bamboo. Dabei ist zu beachten, dass es Jenkins schon wesentlich länger gibt als Bamboo, was einer der Faktoren für seine Popularität sein könnte.
Plugin-Unterstützung
Der Open-Source-Charakter von Jenkins verschafft dem Tool beim Plugin-Ökosystem einen Vorteil. Eine große globale Community trägt wesentlich zur Entwicklung neuer Plugins bei. Derzeit gibt es mehr als 1.800 Plugins der Jenkins-Community zur Unterstützung beim Erstellen, Bereitstellen, Testen und Automatisieren von Projekten.
Auf dem Atlassian Marketplace bietet Bamboo fast 200 Plugins/Add-ons, darunter sowohl kostenpflichtige als auch kostenlose Apps. Die schiere Menge an Jenkins-Plugins macht Jenkins bei der Plugin-Unterstützung zu einer lohnenden Wahl gegenüber Bamboo.
Support-Ökosystem
Das Engagement der Jenkins-Community ist größer als das der Bamboo-Community, da Jenkins ein Open-Source-Projekt ist. Aufgrund ihrer Größe bietet die Community mehr Jenkins-Plugins als bei den meisten CI/CD-Tools. Darüber hinaus profitieren Jenkins-Nutzer von einer aktiven Dokumentation und Fehlerbehebung, da die Community stark engagiert ist. Jenkins verfügt außerdem über einen Community-Blog, der die Community über alles rund um Jenkins auf dem Laufenden hält.
Das Supportforum von Bamboo ist hingegen Teil der Atlassian-Community, und im offiziellen Atlassian-Blog erscheinen Beiträge zu Bamboo. Jenkins bietet im direkten Vergleich die bessere Community-Unterstützung. Als Teil des Atlassian-Ökosystems könnte Bamboo jedoch für Entwickler attraktiver sein, die andere Atlassian-Produkte verwenden.
Nutzererfahrung
Bamboo bietet eine bessere Nutzererfahrung, da es benutzerfreundlicher ist als Jenkins. Es ist übersichtlicher und intuitiver und führt Nutzer durch die Build- und Bereitstellungsphasen von Aufgaben. Jenkins stellt die Nutzererfahrung zugunsten der Funktionalität zurück.
Die Wahl der Plattform: Bamboo vs. Jenkins
Das ideale CI/CD-Tool hängt von Ihrem Budget, dem gewünschten Funktionsumfang und der gewünschten Nutzererfahrung ab. In diesem Fall ist Jenkins kostenlos und bietet mehr Funktionalität. Allerdings kann Jenkins für Sie und Ihr Team eine Lernkurve bedeuten, da Sie für die Anpassung der Plugins verantwortlich sind.
Bamboo bietet eine bessere Nutzererfahrung und ist eine Überlegung wert, wenn Sie bereits andere Produkte aus dem Atlassian-Ökosystem verwenden. Zusätzlich zu diesen Faktoren sollten Sie die Tools unbedingt testen, um sicherzustellen, dass Ihre Wahl für Ihren Anwendungsfall geeignet ist.
Lesen Sie als Nächstes: Die besten DevOps-Tools und -Software des Jahres 2022