Under the Hood - die wichtigsten Werkzeuge und Abläufe

Im Maschinenraum


In der Fortsetzung unseres Tutorials zu Continuous Delivery gehen wir diesmal tief hinunter in den Maschinenraum. Dort schauen wir uns ausgiebig um und besprechen die wichtigsten Werkzeuge für unser Setup. Sobald wir unsere Ausrüstung zusammengestellt haben, begleiten wir eine alte Bekannte auf dem Weg durch den Delivery Cycle: die eine Zeile Code der Poppendiecks aus Teil 1. Sie erinnern sich? Die Poppendiecks hatten gefragt, wie lange es dauert, bis eine Änderung, die aus einer einzigen Zeile Code besteht, produktiv läuft. Mit unserem Setup sollte das ungefähr so schnell gehen, wie Sie brauchen, um diesen Artikel zu lesen.

In Teil 1 haben wir darüber gesprochen, dass Automatisierung bei Continuous Delivery (CD) das A und O ist. Für die meisten Rollen im Prozess gibt es Spezialisten. Daher versuchen Sie besser nicht für alles ein eigenes Skript zu schreiben. CD ist ein werkzeuggestützter Entwicklungsprozess, dessen Schwerpunkt auf agilem Vorgehen und schnellen Feedbackzyklen liegt. Dazu müssen verschiedene Systeme zu einer eng integrierten Werkzeugkette geschmiedet werden. Wir möchten Ihnen die Glieder dieser Kette vorstellen und Ihnen die Alternativen bei der Produktauswahl zeigen. Wie in Abbildung 1 zu sehen, bilden die folgenden Systeme mit dem Issue-Management als zentrales Element die Basis:

  • Versionierung

  • Build-Server

  • Qualitätsmessung

  • Issue-Management

  • Artifact Repository

Dazu kommen Testframeworks und Tools zum Code-Review, um eine kontinuierlich hohe Qualität zu gewährleisten. Den Ablauf in unserem Delivery-Prozess nennen wir Delivery Cycle, innerhalb dessen wir eine Aufteilung in Development und Deployment Cycle vornehmen. Im Rahmen des Deployment Cycles müssen wir uns auch überlegen, wie Stages bereitgestellt werden können und das automatisierte Deployment umgesetzt werden kann. Stages sind Serverumgebungen, die dem Produktivsystem ähnlicher werden, je weiter wir in Richtung produktives Deployment gehen.

Versionierung

Das Version Control System (VCS) verwaltet die Codebasis Ihres Projekts. Kaum ein Projekt kommt ohne aus. Sobald mehr als zwei bis drei Entwickler an einem Projekt beteiligt sind, wird es schwer, die Arbeitsergebnisse ohne ein VCS zusammenzuführen. Im Rahmen von CD ist es unverzichtbar, da der Build-Server eine einheitliche Quelle für seine Builds benötigt.

Die Produktvielfalt ist groß, zwei Systeme stechen jedoch hervor: Subversion [1] und Git [2]. Subversion ist in vielen Projekten vertreten und der wichtigste Vertreter der G...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang