Atlassian hat mit Bamboo 5.9 die hauseigene Continuous Delivery-Lösung auf den aktuellsten Stand gebracht. Die intensivierte Cloud-Ausrichtung wird mit diesem Release noch weiter vorangetrieben. Die Änderungen betreffen vornehmlich das Handling der mit Bamboo 5.8 eingeführten AWS-Tasks und eine verbesserte Unterstützung von Docker-Tasks.

Plan Branches jetzt effektiver verwalten

Atlassian hat den Prozess rund um das Management von Plan Branches verbessert. Plan Branches sind spezielle „Unterpläne“ eines Buildplans, die für die jeweiligen Zweige in einem Code Repository angelegt werden.

Beispielsweise lassen sich so Feature-Zweige in git getrennt vom master-Zweig überprüfen und übersetzen. Mit Bamboo 5.9 hat Atlassian die Funktionalität hinzugefügt, die Mechanik rund um das Erstellen und Löschen eines solchen Planes zu automatisieren.

bam59-1

Bamboo prüft hierzu auf Änderungen im primären Source Repository und löst anschließend der Konfiguration entsprechend die passenden Aktionen aus.

Anpassbare Docker-Tasks

Das Docker run command kann nun angepasst werden:

  • Dynamisches Port Mapping kann konfiguriert werden.
  • Ein entsprechendes Arbeitsverzeichnis für den Container sowie weitere Argumente können nun angegeben werden.
  • Zusätzliche Host-Verzeichnisse können als Datenvolumen innerhalb des Containers eingebunden werden.

bam59-2

AWS Code Deploy für Bamboo Server

Das neue AWS Code Deploy-Kommando ist nun auch für Bamboo Server verfügbar und erlaubt schnelle, einfache und sichere Deployments von Anwendungen in EC2-Instanzen. Der Task komprimiert ein Verzeichnis als .zip-Datei, lädt diese nach Amazon S3 hoch und führt das Deployment aus.

bam59-3

Der Amazon Simple Storage Service (S3) ist ein skalierbarer und sicherer Datenspeicher, und es ist nun möglich, eigene Amazon S3-Hosts für unlimitierte Speicherkapazität einzusetzen. Falls Sie Bamboo Cloud einsetzen und das Datenlimit von derzeit 25 GB erreichen sollten, stellt das kein Problem mehr dar. Sobald Amazon S3 mit der Bamboo-Cloud-Instanz verbunden ist, werden alle neu anfallenden Artefakte im S3-Bucket abgelegt und existierende werden bis zur Löschung im Atlassian Cloud-Speicher vorgehalten.

Der gesamte Deployment-Prozess kann mit AWS Code-Deploy nachverfolgt werden: Informationen wie Deployment-Status, Konfiguration sowie Integrität können auf einfache Weise abgerufen werden.

Einfachere Verwaltung von AWS-Zugangsdaten

Mit AWS arbeiten ist einfach. Es ist von nun an möglich, die Zugangsdaten in Bamboo zu hinterlegen und diese in weiteren Tasks wiederzuverwenden, die geteilte Zugangsdaten unterstützen:

bam59-4

Künftige REST API-Änderungen

Atlassian wird künftig die Verzeichnisstruktur auf der Festplatte ändern. In einem der kommenden Releases von Bamboo planen die Australier, die Ablagestruktur von Artefakten und Logs auf der Festplatte zu verändern. Diese Änderungen seien notwendig, um die Struktur für kommende Features robuster zu gestalten. Falls also Skripte oder andere Werkzeuge eingesetzt werden, die auf Daten aus dem Bamboo Home-Verzeichnis angewiesen sind, so sollte man sich darauf einstellen, diese in Zukunft anpassen zu müssen.

Um diesen Prozess einfacher zu gestalten, hat Atlassian der Bamboo REST API eine neue Ressource hinzugefügt. Diese liefert Informationen über den Ablageort von Logs und Artefakten. Diese neue API ist mit Bamboo 5.9 verfügbar, um sich auf die Änderungen einstellen zu können.

Verbesserungen am Bamboo Clover Plugin

Die automatische Integration von Clover und Maven-Tasks wurde verbessert. Atlassian benennt folgende Änderungen:

  • Die Builds sind schneller, da der Maven Build Cycle lediglich einmal ausgeführt wird.
  • Die Probleme mit der Übersetzung von Maven Multi-Modul-Projekten wurden behoben.

Dies bedeutet auch, dass die automatische Clover-Integration nicht ausgeführt wird, falls ein Task mvn install oder mvn deploy aufruft. Dies dient dem Schutz der Builds vor unnötig erzeugtem Code. Eventuell müssen Anpassungen an Builds mit automatischer Clover-Integration vorgenommen werden, beispielsweise so, dass sie anstelle der aufgeführten Tasks mvn verify ausführen.

Weiterhin wurde die automatische Integration von Clover und Grails-Tasks verbessert. Die Integration verwendet von nun an BuildConfig.groovy oder pom.xml anstelle von grails install-plugin, welches deprecated war und mit Grails 2.3.5 entfernt wurde.

Quellen & Links