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.

 

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.