Atlassian Bamboo – Continuous Integration

Logo Bamboo

Atlassian Bamboo ist eine der führenden Softwares für CI- (Continuous Integration) und Build-Server in der Softwareentwicklung. Die plattformunabhängige Software für kontinuierliche Integration wird auch für Software Deployment und Releasemanagement verwendet. Durch Bamboo können mithilfe von Workflows automatisierte Builds, Tests und Veröffentlichungen durchgeführt werden. Dies bedeutet, dass alle Programmiersprachen integriert und anschließend getestet werden können. Außerdem profitiert man wie bei allen Atlassian-Produkten von einfachen Integrationsmöglichkeiten weiterer firmeninterner Softwares wie Jira Software, Bitbucket, Hipchat oder Fisheye.

Vorteile beim Arbeiten mit Atlassian Bamboo:

Für wen löst Atlassian Bamboo Probleme?

Einzel-Entwickler

Teams in kleineren Projekten

Große Projekte & Komplexe Anwendungen

Wie funktioniert Atlassian Bamboo?

Atlassian Bamboo ist der zentrale Verwaltungsserver, der alle Arbeiten plant und koordiniert. Die Software selbst verfügt wiederum über Schnittstellen für viele Arten von Arbeiten. Zudem kann man wie bei allen Atlassian-Produkten auf eine große Zahl von Plug-Ins zurück greifen. Diese schaffen in dem alltäglichen Gebrauch von Bamboo große Erleichterung. Jene Plug-Ins dienen wiederum nun auch als Ausgangspunkt im Quell-Repository. (Im Quell-Repository werden Quellcode-Dateien o.ä. in einem Projektarchiv gehalten. Diese werden „ausgecheckt“ und auf den Rechner des Programmierers geladen, wenn angefragt. Nach der Bearbeitung werden diese Dateien wieder eingecheckt & die Veränderung protokolliert. Diese Versionsverwaltung dient zum Beispiel zur Rekonstruktion früherer Zustände.) Zusätzlich sind diese Plug-Ins in einer Vielzahl an Systemen verfügbar. Nach dem die Eingaben bezogen wurden, startet Bamboo den Build. Dies kann beispielsweise durch den Aufruf von MSBuild zur Erstellung Ihrer Visuals Studio-Lösung geschehen. (Oder  was auch immer Sie hierbei eben verwendet wird). Sobald Sie Ihre Lösung / Ihr Projekt fertig gestellt ist, stehen Ihnen „Artefakte“ zu Verfügung. (Hierbei handelt es sich um beispielsweise Build-Ergebnisse. Dies sind ausführbare Anwendungen oder Konfigurationdateien) Mit diesen „Artefakten“ können Sie wiederum zum Beispiel: einen Installation-Builder darauf laufen lassen, ein MSI erstellen oder zur Überprüfung auf einen Testserver installieren. Auch können Sie diese in eine ZIP-Datei packen welche Sie schließlich überall hinkopieren können. Nebenbei bietet Bamboo auch ein Front-End welches sich je nach Anforderung oder Benutzer konfigurieren lässt. Auch dient dieses als Übersicht über den jeweiligen Status der Builds, um das Projekt fortlaufend zu monitoren.

Wie wird der Bamboo-Workflow organisiert?

Atlassian Bamboo verwendet das Konzept von „Projekt“ mit „Plan“, „Stufe“, „Job“ und „Aufgabe“, um die Aktionen im Workflow zu konfigurieren und zu ordnen. Im folgendem erläutern wir Ihnen dieses Konzept näher.

Projekt

Ein Projekt stellt die komplette Kampagne in Berichten dar und stellt Links zu anderen Anwendung zur Verfügung. In einem Projekt befinden sich ein oder mehrere Pläne. Außerdem kann in Projekten die Einrichtung von Berechtigungen für alle enthaltenen Pläne getätigt werden.

Plan

Gibt das Standard-Repository an und beschreibt wie der Build ausgelöst wird. Außerdem sind hier auch die auslösenden Abhängigkeiten zwischen Plänen anderer Projekte angegeben. Auch die Benachrichtigungen über Build-Ergebnisse befinden sich im Plan. Wie auch im „Projekt“ kann hier die Berechtigung zum Anzeigen und Konfigurieren des Plans und seiner Jobs dargestellt werden. Pläne bestehen normalerweise aus einer „Stufe“, welche allerdings zur Gruppierung in mehreren Stufen dargestellt werden.

Stufe

Eine Stufe besteht aus einem einzigen „Job“, welche parallel auf mehreren Agents (sofern verfügbar) verarbeitet werden. Damit der Bamboo-CI-Server im Plan verarbeitet werden kann, müssen alle Jobs erfolgreich abgeschlossen sein. Außerdem werden hier auch „Artefakte“ erzeugt, welche daraufhin zur Verfügung gestellt werden können.

Job

Jobs verarbeiten entweder einzelne Aufgaben oder mehrere aufeinanderfolgende Aufgaben, die in einer festgelegten Reihenfolge nacheinander auf demselben Agent ausgeführt werden. Zusätzlich werden hier die Anforderungen des Bamboo-CI-Server gesammelt, sodass diese mit den Fähigkeiten der Agents abgeglichen werden können. In den Jobs finden sich auch die „Artefakte“ aus der „Stufe“ wieder, welche hier definiert und vom Build erzeugt werden. Zuletzt werden noch alle Labels festgelegt, mit denen das Build-Ergebnis oder die Build-„Artefakte“ gekennzeichnet wurden.

Aufgabe

Aufgaben sind kleine, diskrete Arbeitsheinheiten, wie beispielsweise „Quellcode Überprüfung“, Ausführen eines Maven-Ziels oder Skripten/Parsen von Testergebnissen. Diese werden sequentiell innerhalb eines Jobs in einem Bamboo-Arbeitsverzeichnis ausgeführt.

Atlassian Bamboo in a nutshell

Fokus: Programmierung

Mit Bamboo kann man sich ganz auf das Programmieren konzentrieren. Mit mehrstufigen Build-Plänen und Triggern zum Starten von Builds bei Commits erhöhen Sie die Qualität in Ihrer Softwareentwicklung. Wichtigen Builds und Deployments weisen Sie Agents zu. Bamboo unterstützt alle Programmiersprachen sowie eine Vielzahl an Technologien.

Automatische Tests

Für Continuous Integration wird ein systematisches Testing benötigt. Diese automatisieren Sie mit Bamboo und erlangen eine gründliche Regression bei jeder Änderung. Mit parallelen automatisierten Tests nutzen Sie die Vorteile der agilen Entwicklung und optimieren die Erkennung von Fehlern im Code.

Releasemanagement

Bamboo eignet sich optimal für die Auslieferung bei der Nutzung von Continuous Delivery. Nutzen Sie Deployment Projekte, um den Release-Prozess für einzelne Umgebungen zu automatisieren und sparen Sie so Zeit bei der Auslieferung. Außerdem können Sie den Delivery-Flow mit Zugriffsrechten auf verschiedenen Umgebungen kontrollieren.

(Atlassian-) Integration

Bamboo lässt sich mit vielen weiteren Atlassian Produkten verknüpfen. Optimale Beispiele sind hierfür Jira Software, Bitbucket, Confluence und Fisheye. Zusätzlich profitieren Sie von der Vielfalt des Atlassian Marketplace. Auch können Sie eigene Add-ons für individuelle Anforderungen von uns entwickeln lassen.

Kontaktieren Sie uns.

Wir freuen uns auf Ihre Anfrage! Nutzen Sie dazu gerne unser Kontaktformular oder rufen Sie uns direkt an.

Kontaktanfrage

Zum Absenden des Formulars muss Google reCAPTCHA geladen werden.

Google reCAPTCHA laden
Google reCAPTCHA Datenschutzerklärung