Bamboo 4.3: Funktionen und Features für Release-Tage ohne Sorgen

Vor wenigen Tagen ist Bamboo 4.3 erschienen, die neue Version des Continuous-Integration-Servers von Atlassian. Das Ziel: Bamboo will dem Entwicklungsteam den Release-Tag zum Tag ohne Sorgen statt zum Höllenritt voller Unsicherheiten, Katastrophenszenarien und abgekauten Fingernägeln machen. Diese Funktionen und Möglichkeiten sollen ihren Beitrag dazu leisten.

Multiple-Build-Trigger

Viele Anwendungen hängen von Systemen von Drittanbietern ab, ein Beispiel von unzähligen ist die Integration der Kreditkartenzahlung. Während in der Soak Time vor dem Release nichts an der eigenen Anwendung verändert wurde, weiß man nun nicht, ob der Anbieter des Kreditkartenprozesses etwas modifiziert hat.

Für solche Fälle bietet Bamboo Multiple-Build-Trigger, um Tests auch in der Nacht durchzuführen und die Integration ständig sicherzustellen. Integrationsprobleme werden erkannt, ob sich nun die eigene Anwendung oder die eines Drittanbieters verändert hat.

Vorinstallationen von Tomcat, Heroku, SSH und SCP

Entwickler, die nach dem Upgrade auf Bamboo 4.3 zum ersten Mal Releases in die Produktion ausliefern, sorgen sich möglicherweise darum, ob zum Beispiel der Tomcat-Deploy reibungslos abläuft, oder befürchten Plugin-Inkompatibilitäten, die man zu diesem Zeitpunkt so gar nicht gebrauchen kann.

Diese Sorgen sind obsolet, denn Version 4.3 wird nun mit Vorinstallationen von Tomcat, Heroku, SSH und SCP ausgeliefert, die garantiert unterstützt werden und mit jedem Release kompatibilitätsgetestet sind.

Deploy Targets als Variablen setzen

Schreckensszenario: Kurz bevor ein Entwickler in Bamboo den gewünschten Build ausführt, meldet sich ein entgeisterter Systemadministrator - Ein Produktionsknoten ist hinüber. Zwar ist der Wechsel auf einen alternativen Knoten möglich, doch dieser hat eine andere Adresse.

In Bamboo 4.3 können die Deploy Targets als Variablen gesetzt werden. Mit der Option "Deploy to Production Customized" lässt sich der konfigurierte Wert einfach mit der Adresse des neuen Knotens überschreiben und genau derselbe Build deployen, den das Team ursprünglich ausliefern wollte.

Frühere Deploys erneut in die Produktion schicken

Eine weitere Worst-Case-Situation am Release-Tag: Der Release-Smoke-Test ist durchlaufen, das Team ist in Gedanken schon beim feierlichen Anstoßen – und dann zeigt ein Blick auf die Monitoring-Systeme der Produktivinstanz einen dramatischen Performanceabsturz.

Mit Bamboo können vorherige Builds wieder in Produktion gegeben werden. Aktuelle Deploys lassen sich zurückrollen, sodass das Team die Zeit hat, die richtige Lösung zu implementieren, statt in aller Eile Heftpflaster zu kleben.

Erweiterte Filter auf dem Dashboard

Es kommt vor, dass ein Release unter lähmenden Performanceproblemen leidet und zurückgerollt werden muss. Das bedeutet, dass sofort der letzte Build gefunden werden muss, der in die Produktion deployt wurde. Bei Hunderten von Plans in der Bamboo-Instanz kommt diese Suche schnell der nach der berüchtigten Nadel im Heuhaufen nahe.

Mit Bamboo 4.3 ist das kein Problem mehr: Der Entwickler kann mit den erweiterten Filtern auf dem Dashboard das gewünschte Projekt isolieren und den entsprechenden Plan in Sekunden finden.

Builds von spezifischen Revisionsnummern aus durchführen

Eine andere komplexe Herausforderung: Ein Performanceproblem konnte auf denjenigen Commit zurückgeführt werden, der es verursacht hat. Nun wird der Commit benötigt, der genau vor dem Übeltäter durchgeführt wurde. Allerdings fragt der Plan das Repository alle drei Minuten nach Änderungen ab. Wenn also während dieses Intervalls mehrere Commits durchgeführt werden, wird nicht jede Revision separat gebaut – der Build kommt aus der jüngsten Revision. Und getreu Murphys Law ist die tatsächlich benötigte Revision nie ein separater Build gewesen.

Bamboo 4.3 erlaubt es, einen Build von einer spezifischen Revisionsnummer aus laufen zu lassen und genau zu jenem Moment in der Code-Historie zurückzukehren, in dem alle gewünschte Features implementiert sind, aber keine Performance-Probleme auftreten.

Bamboo einführen und/oder lizenzieren? Wir sind Ihr Partner!

Interessieren Sie sich für Bamboo als Integrationsserver? Wir sind offizieller Atlassian-Vertriebspartner: Gerne beraten wir Sie und unterstützen Sie bei der Lizenzierung. Wenn Sie Lizenzen für Atlassian-Produkte bei //SEIBERT/MEDIA kaufen, gewähren wir Ihnen übrigens einen Naturalrabatt in Höhe von 10% in Form von Dienstleistungen. Bitte sprechen Sie uns an.

Ausführliche Infos über Bamboo, seine Features und sein Lizenzmodell in unserer Infothek
Stash von Atlassian ist da: Git-Repository-Management für Unternehmen
Der Eclipse Connector von Atlassian: JIRA, Bamboo und FishEye in der IDE