Bamboo (Software)
# Bamboo (Software)

Bamboo ist ein kommerzieller Server für kontinuierliche Integration des australischen Unternehmens Atlassian. Es handelt sich um eine webbasierte Anwendung, die in Java geschrieben wurde. Eingesetzt wird es in der Softwareentwicklung und ermöglicht neben der Integration von Software auch Deployment und Releasemanagement.

## Funktionalität

Die Kommunikation mit dem Server erfolgt über eine Weboberfläche. Dort werden alle Projekte sowie alle zugehörigen Builds angezeigt. Zu jedem Build zeigt Bamboo ein ausführliches Ergebnis. Es lassen sich Konfigurationen vornehmen und man kann Aufgaben für automatisierte Build- oder Deployment-Vorgänge erstellen sowie diese manuell starten.

Bamboo enthält die Grundfunktionen, die jeder Server für kontinuierliche Integration umfasst. Das heißt, es lassen sich Build-Vorgänge automatisiert sowie manuell durchführen. Dabei wird ein Programm kompiliert und getestet. Mit Bamboo können Projekte in sämtlichen Programmiersprachen integriert werden. Es unterstützt alle gängigen Build-Werkzeuge wie Ant, make, Maven und MSBuild sowie gängige Versionsverwaltungen wie Concurrent Versions System (CVS), Git, Mercurial, Perforce und Subversion (SVN). Außerdem können Test-Frameworks wie z. B. JUnit für Java-Projekte, MSTest für .NET-Projekte, PHPUnit für PHP-Projekte und Selenium für Webanwendungen eingesetzt werden. Um mit anderen Technologien wie zum Beispiel Tomcat, Rake oder Xcode zu arbeiten, lässt sich Bamboo mit entsprechenden Add-ons erweitern. Es gibt auch die Möglichkeit, selbst neue Plug-ins zu erstellen.

Bamboo ermöglicht das Erstellen von Deployment-Vorgängen, die automatisch nach einem erfolgreichen Build oder manuell ausgeführt werden können, sowie ein Releasemanagement.

Zu den Funktionen gehört außerdem die Benachrichtigung über die Ergebnisse eines Builds. Dies kann per E-Mail, Instant Messaging, RSS oder Meldungen in den integrierten Entwicklungsumgebungen Eclipse, Microsoft Visual Studio und IntelliJ IDEA geschehen.

In Bamboo ist es möglich, Daten von Jenkins, einem anderen Server für kontinuierliche Integration, zu importieren. Dazu gibt es den sogenannten Jenkins Importer. Diese Funktionalität soll den Umstieg von Jenkins zu Bamboo für Entwicklerteams einfacher machen.

Eine Eigenschaft von Atlassian-Produkten ist, dass sie sich miteinander integrieren lassen. Dies ist auch bei Bamboo der Fall. Eine Möglichkeit ist die Integration mit JIRA. Es werden zu jedem Build die JIRA-Einträge angezeigt, die darin eingebunden sind und somit abgearbeitet wurden. In Bamboo können auch direkt JIRA-Tickets erstellt werden. Außerdem kann man in Confluence-Artikeln Informationen über Builds vom Bamboo, unter anderem in Form von Diagrammen, einfügen. Von den Produkten FishEye und Bitbucket Server lassen sich Repositorys einbinden und man kann Clover integrieren, um damit die Testabdeckung seines Quellcodes untersuchen zu lassen. Weiterhin können Benachrichtigungen von Bamboo über den Chat-Service HipChat übermittelt werden.

## Lizenz

Bamboo steht unter einer proprietären Lizenz und ist für Unternehmen und akademische Einrichtungen kostenpflichtig. Dennoch ist die Software für Open-Source-Projekte, Non-Profit-Organisationen und Schulklassen kostenlos. Darüber hinaus ist eine kostenlose Testlizenz erhältlich.

Der Preis der Lizenz ist abhängig von der Anzahl an Servern, die zusätzlich genutzt werden können, um die Build-Vorgänge auszuführen. Diese werden auch remote agents genannt.

Um Bamboo zu nutzen, gibt es zwei Möglichkeiten. Zum einen kann Bamboo auf einem Server, also auf der Hardware des Kunden, laufen. Dazu kauft man eine einmalige Lizenz mit einer maximalen Anzahl verwendbarer remote agents. Zum anderen ist es möglich, Bamboo als Software as a Service der Atlassian Cloud zu verwenden. Bei dieser Variante erwirbt man allerdings keine einmalige Lizenz. Die Gebühren entstehen hierbei aus der monatlich genutzten Anzahl an remote agents.

## Kunden

Bamboo wird in über 1200 Organisationen und Unternehmen unterschiedlicher Branchen in 53 Ländern weltweit eingesetzt. Zu den Kunden gehören u. a. Adobe, die BBC, BNP Paribas, eBay, Fujitsu, Greenpeace International, McDonald’s, Mozilla, die NASA, Nike, Nokia, Oracle und Red Bull. Aber auch in Deutschland wird die Software z. B. von Audi, BMW, der Deutschen Bank und von der Lufthansa verwendet.

