Continuous Delivery mit Atlassian Werkzeugen

Atlassian Bamboo erfüllt sicherlich alle Wünsche, die man an einen Continuous Integration (CI) Server stellen kann. Zur Abbildung des CI Workflows verwendet Bamboo sogenannte Build Plans, die wiederum aus Stages, Jobs und Tasks bestehen. Der hierarchische Aufbau und das Zusammenspiel dieser Bausteine ermöglichen eine elegante Build-Parallelisierung durch Verteilung auf mehrere Remote Agents. Darüber hinaus lassen sich dadurch auch Pipeline-artige Strukturen aufbauen, wie sie bei Continuous Delivery (CD) verwendet werden.

bamboo

 

Ein CI Server ist beileibe nicht der einzige Bestandteil einer Build-Infrastruktur. Eine solche beinhaltet in der Regel noch ein Source Code Management System nebst Client oder IDE-Anbindung sowie einen Issue Tracker zur Verwaltung und Planung der Entwicklungsaufgaben. Beim Toolstack von Atlassian sieht die praktische Umsetzung wie folgt aus:

tools-2

Wenn all diese Werkzeuge aus einer Hand kommen, sind sie leicht miteinander zu integrieren und bieten zusätzlich Möglichkeiten, welche sonst gar nicht oder nur mit großen Aufwand zu erreichben wären. Gerade die nahtlose Verknüpfung aller Aspekte der Softwareentwicklung wie Feature Requests, Branches, Commits, Test, Builds und Releases ermöglicht das Umsetzen eines Continuous-Delivery-Prozesses von der Entwicklung bis zum Produktivbetrieb.

Systematisches Continuous Delivery Systematisches Continuous Delivery Bamboo lässt Sie auch beim Ausliefern nicht im Regen stehen. Durch die Bamboo eigenen Deployment Projects können Sie Ihre Umgebungen und Releases verwalten, das Deployment automatisieren und die entsprechenden Berechtigungen kontrollieren. Fragen über Fragen Fragen über Fragen Jedes Release kann zahlreiche Fragen aufwerfen. In welchen Umgebungen wurde das Release bereits deployt und zwar wann und von wem? Welche Test wurden ausgeführt und waren diese erfolgreich? Welche fachlichen Änderungen sind enthalten? Bamboo beantwortet all diese Fragen für jedes Release kompakt auf einer Seite. Nachvollziehbarkeit von Anfang bis Ende Nachvollziehbarkeit von Anfang bis Ende Verknüpfen Sie Ihre JIRA Aufgaben mit Quellcode Änderungen und den Git Branches auf denen sie verteilt sind. Sehen Sie auf einen Blick welche Änderungen von wem warum gemacht wurden und wo diese Änderungen gerade deployt sind. Verzweigte Entwicklung einfach steuern Verzweigte Entwicklung einfach steuern Bewahren Sie den Überblick über Ihre Entwicklungszweige und ersparen Sie sich aufwendige Konfigurations-arbeiten. Neue Feature Branches lassen sich per Knopfdruck in JIRA erzeugen und werden anschließend automatisch in Bamboo erkannt und gebaut. Auch Pull Request Verwaltung sowie automatisches Mergen von Entwicklungs-zweigen ist möglich, so dass Sie den Kopf für die wirklich wichtigen Dinge frei haben . Ist es schon fertig? Ist es schon fertig? Durch die Integration von JIRA und Bamboo kann jeder sofort sehen, ob und in welcher Umgebung die für ihn bedeutsamen Features deployt wurden und verfügbar sind. Und weiß damit, ob es sich schon lohnt zu testen oder dem Kunden Bescheid zu sagen.

 

Wo bleibt hier der Blick auf den IT-Betrieb?
Die Entwicklung ist mit dem Thema Continuous Delivery fertig, doch nun fragt der Betrieb:

  • Welche Releases existieren?
  • Welche Features sind in welchem Release enthalten?
  • Welche Umgebungen gibt es überhaupt? Welche Releases laufen auf welcher Umgebung?
  • Wer darf in welchen Umgebungen deployen? Wie kann ich diese Rechte zentral verwalten?
  • Wie kann ich prüfen, welche meiner Features bereits wo ausgeliefert / in Betrieb sind?

Die Deployment Projects von Atlassian Bamboo können hier eine Antwort sein.