Wenn Ihr Entwicklerteam agil und innovativ arbeitet, wünschen sich die Teammitglieder wahrscheinlich automatisierte Builds, Tests und Releases, die alle in einem einzelnen Workflow verknüpft sind. Aber kein zusammengestückeltes fragiles System, sondern eher eine problemlos laufende, gut geölte Maschine.

Deswegen sind Bamboo-Nutzer so überzeugt von diesem Produkt: Es ist flexibel genug, um selbst die kompliziertesten Continous-Integration- und Continuous-Delivery-Workflows (CI/CD) zu handhaben. Mit Bamboo 6.0 hat Atlassian nochmal eins oben drauf gesetzt und ein neues Feature namens Bamboo Specs hinzugefügt, mit dem Sie eine „Konfiguration als Code“-Herangehensweise nutzen können, um weniger Zeit mit dem Herumklicken in der UI verschwenden zu müssen.

In diesem Artikel beleuchten wir die neuen Features, die CI/CD-Aufgaben unterstützen: Bamboo Specs, buildspezifischer Container-Support und die engere Integration zwischen Bamboo und Bitbucket Server. Außerdem bekommen Sie hier einige Tipps dazu, wie Sie Ihre Builds in Bamboo modernisieren können.

Tipp 1: Buildpläne schnell iterieren

Schnell Iterationen erstellen zu können und umgehend auf Veränderungen reagieren zu können, ist in der modernen Softwareentwicklung extrem wichtig. Seit Bamboo 6.0 gibt es eine neue Art und Weise zur Konfiguration von Builds: Bamboo Specs. Bamboo Specs ermöglichen es, Konfigurationen von Bamboo-Plänen als Text zu speichern. Vor Bamboo Specs mussten sich Entwickler auf die Benutzeroberfläche von Bamboo verlassen, um Build-Konfigurationen zu ändern oder zu erstellen. Dieser Vorgang war oft lästig und erforderte viele Wiederholungen – diese Zeit verbringt man besser damit, auf ein Release hinzuarbeiten.

Bamboo Specs vereinfachen die Konfiguration von Plänen, da Sie Ihre Konfiguration als Code definieren und erstellen können. Die so definierten Pläne werden als Code in Ihren Bamboo-Server implementiert, sobald der Plan für den Workflow akzeptiert wurde.

Weil Bamboo Specs Java verwendet, können Sie beim Bearbeiten Ihrer Pläne alle Vorteile Ihrer IDE nutzen, wie beispielsweise Autokorrektur und Syntax-Highlighting. Das sorgt für mehr Produktivität und bietet Ihnen ein modernes und flexibles CI-Toolset, mit dem Sie Ihre Buildkonfigurationen so schnell wie die Codebase selbst weiterentwickeln können. Änderungen schnell vornehmen zu können, verleiht den Entwicklern mehr Ownership und Verantwortung für die CI-Pipeline.

Ein Bonus: Wenn Sie Ihre Codedatei in einem Versionskontrollsystem speichern, können Sie auch andere Vorteile wie Codereviews und den Versionsverlauf nutzen. Wenn Sie beispielsweise frühere Versionen eines Builds vergleichen müssen (um den Grund für einen Fehler zu finden), können Sie einfach einen der alten Builds ausführen.

Tipp vom Experten
Atlassian wird in Zukunft noch mehr CI/CD-Funktionen und -Integrationen anbieten. In einer kommenden Version wird Bamboo automatisch die Konfigurationsdatei erkennen und je nach Bedarf Builds über Bitbucket Server triggern.

 

Tipp 2: Builds und Tests an einem Ort

Heutzutage unterstützen die meisten Entwicklerteams mehr als nur eine Plattform. Atlassian entwickelt beispielsweise SourceTree und andere Tools für Mac, Windows und einige andere Betriebssysteme. Mit der Veröffentlichung von Bamboo 6.0 hat Atlassian dafür gesorgt, dass alle Ihre Anwendungen mit eingebautem (und offiziellem) xCode- und Fastlane-Support ausgestattet sind. Das bedeutet, dass Sie Ihre iOS- oder OSX-Apps zusammen mit anderen Anwendungen erstellen und testen können.

xCode ist speziell für iPhone, iPad, Mac, Apple Watch und Apple TV gedacht, Fastlane ist ein OpenSource-Tool, mit dem sich Beta-Deployments und -Veröffentlichungen von iOS- und Android-Apps automatisieren lassen. Es erledigt zahlreiche Aufgaben, beispielsweise das Erstellen von Screenshots, Code-Signing und die Veröffentlichung Ihrer Anwendung.

Für CI/CD ist es sehr wichtig, dass Build-Tools wie xCode und Fastlane unterstützt werden. Mithilfe einer Builder-Aufgabe können Sie Ihren Bamboo-Plan, oder -Job mit einem Build-Tool wie Fastlane zu verknüpfen. Sie sorgen für eine CI-Pipeline, weil Sie bei der Erstellung des Plans oder Jobs bestehende Konfigurationen verwenden.

Warum ist das modern? Es handelt sich hierbei um die aktuellsten Technologien, die Entwickler derzeit zur Softwareentwicklung nutzen – egal ob iPad- oder Android-App – und Sie können alle Ihre Builds in einem einzelnen Tool für mehrere Plattformen laufen lassen.

Genau wie bei Bamboo Specs müssen Entwickler weniger Zeit mit der Verwaltung ihres Buildsystems verbringen und können mehr Zeit ins Programmieren investieren.

Tipp vom Experten
In Zukunft wird es Support für zusätzliche Plattformen und Technologien geben. Bleiben Sie also gespannt! Sie können außerdem aus einer Vielzahl von verschiedenen Aufgaben für Build- und Deployment-Projekte wählen, wie beispielsweise AWS CodeDeploy, Docker und Amazon S3.

 

Tipp 3: Erstellen Sie nur dann Builds, wenn es sinnvoll ist

Ein weiterer wichtiger Grundsatz von CI/CD ist es, kulturelle Silos und Werkzeug-Silos aufzuspalten. Bamboo 6.0 hat einige neue Integrationen zwischen Bamboo und Bitbucket Server eingeführt, die dabei helfen, Tooling Silos innerhalb des Atlassian-Ökosystems zu eliminieren.

Bamboo wurde so entwickelt, dass es auch mit verzweigten Workflows in Bitbucket Server funktioniert, aber Fragen wie „hat dieser Build erfolgreich übersetzt“ ließen sich während eines Codereviews nur schwer beantworten. Jetzt erhalten Sie die Antwort auf diese Frage ganz einfach, indem Sie automatisch Build-Pläne für Branches und Pull-Anfragen innerhalb von Bitbucket Server erstellen und ausführen lassen. Außerdem konnte Bamboo zuvor keine Bitbucket-Server-Informationen zu Builds senden, die noch in Bearbeitung waren. Es konnte lediglich abgeschlossene Builds anzeigen. Jetzt sendet Bamboo diese Informationen direkt bei Beginn eines Builds an Bitbucket, was den Entwicklern komplette Transparenz zum Fortschritt eines Builds verleiht.

Entwickler müssen wissen, was in ihren verschiedenen Tools passiert. Sie möchten bestimmen, wann die Builds laufen sollen – beispielsweise über Branch-Erstellung oder (jetzt auch) über die Pull-Anfragen-Erstellung. Direkte Vorteile daraus sind, Build-bezogene Störungen zu reduzieren und Build-Agenten mehr Kapazitäten zu verschaffen.

Die Überwachung des Build-Fortschritts verleiht Entwicklern außerdem mehr Transparenz und erfordert weniger Kontextwechsel zwischen Tools. Diese Integration bildet die Grundlage für Best Practice bei denen Plan-Branches genutzt werden. So wird sichergestellt, dass jede Pull-Anfrage Teil des Builds wird. Plan-Branching ermöglicht es Entwicklern außerdem, Ihre Konfigurationen einzustellen und weiterzumachen. Sie können sich sicher sein, dass Bamboo sich um jede erstelle Pull-Anfrage kümmern wird. Anstatt Builds für jeden neuen Branch zu erstellen werden Builds für jede Pull-Anfrage automatisch generiert. Dies verschafft den Entwicklern mehr Zeit und nutzt CI/CD-Vorgehensweisen, um Software erfolgreich fertigzustellen.

Tipp vom Experten
Sie können über die Benutzeroberfläche von Bitbucket Server in den jeweiligen Commits und Pull-Anfragen sehen, wann ein Build beginnt.

 

Die nächsten Schritte für CI/CD mit Bamboo (und Bitbucket Server)

Diese Tipps helfen Ihnen dabei, CI/CD mithilfe von Bamboo zu implementieren und deshalb wird Atlassian auch weiterhin in Features investieren, die unseren Kunden beim Wechsel hin zu CI/CD und DevOps helfen werden.

Kunden sollen künftig weniger Zeit mit der Verwaltung Ihres Buildsystems verbringen müssen, damit sie sich stattdessen auf das Entwickeln von Software konzentrieren können. Ganz egal ob Sie nun einen Buildplan als Code speichern, oder Bamboo als einzelne Plattform für alle Ihre Build-Tools nutzen wollen; Bamboo ist die unternehmensgerechte CI-Lösung für Atlassian-Kunden.

Das interessiert Sie?

Dann sind wir als Atlassian Platinum Solution Partner Enterprise für Sie da. Oder besuchen Sie uns einfach auf dem DevOps for the Enterprise-Event in Mannheim am 20. Juni 2017.

  • Weitere Information zu DevOps & Enterprise erhalten Sie auf den Braintime-Seiten zu Continuous Delivery.
  • Sie interessieren sich für eine Demo oder Lizenz von Atlassian-Produkten? Dann kontaktieren Sie uns unverbindlich noch heute.
  • Hier finden Sie ausführlichere Informationen zu unseren Atlassian-Leistungen.
  • Hier finden Sie weitere Informationen zu unserem kostenlosen DevOps for the Enterprise Event in Mannheim