Ihr erster CI/CD-Schritt: Was Sie morgen früh tun sollten
Sie haben über CI/CD-Reifegrade gelesen. Sie verstehen die Theorie. Jetzt sitzen Sie am Schreibtisch und fragen sich, was Sie am Montagmorgen tatsächlich tun sollen. Die Antwort ist nicht, ein Tool zu installieren oder Ihre gesamte Pipeline neu zu entwerfen. Die Antwort ist viel einfacher.
Beginnen Sie mit einem Blatt Papier und einem Stift. Zeichnen Sie auf, wie eine Änderung vom Entwickler-Laptop in die Produktion gelangt. Wer schreibt den Code? Wo geht er als Nächstes hin? Wer prüft ihn? Wie wird er deployed? Was passiert nach dem Deployment? Machen Sie sich keine Sorgen, wenn der Prozess größtenteils manuell ist. Das Ziel ist nicht ein perfektes Diagramm. Das Ziel ist, dass alle im Team das gleiche Bild davon haben, wie Software tatsächlich zu den Benutzern gelangt.
Diese einzige Übung fördert oft Überraschungen zutage. Der Entwickler denkt, der Prozess dauert zehn Minuten. Der Operations-Mitarbeiter weiß, dass es wegen manueller Prüfungen zwei Stunden dauert. Der QA-Mitarbeiter erinnert sich, dass jemand immer vergisst, die Konfigurationsdatei zu aktualisieren. Das Zeichnen des Ablaufs macht diese Lücken sichtbar.
Finden Sie den Schmerzpunkt
Sobald der Ablauf auf Papier ist, suchen Sie nach dem einen Schritt, der die meisten Probleme verursacht. Es könnte der Build sein, den jemand manuell auf seinem Laptop ausführt. Es könnte die Datenbankmigration sein, die alle aufschieben, weil sie Angst haben, etwas zu beschädigen. Es könnte die manuelle Überprüfung sein, um zu bestätigen, dass die neue Version korrekt läuft.
Hier ist ein Beispiel, wie dieser Ablauf für ein typisches Team aussehen könnte:
Wählen Sie die einfachste Änderung, die Sie automatisieren können. Versuchen Sie nicht, am ersten Tag die gesamte Deployment-Pipeline zu automatisieren. Wählen Sie eine Art von Änderung, die häufig vorkommt und ein geringes Risiko birgt. Vielleicht ist es der Build-Prozess für ein kleines internes Tool. Vielleicht ist es das Deployment eines nicht kritischen Dienstes. Das Ziel ist, einen kleinen Erfolg zu erzielen, der Vertrauen aufbaut.
Schreiben Sie eine Release-Checkliste
Nehmen Sie das Blatt Papier wieder zur Hand. Schreiben Sie drei bis fünf Zeilen, die diese Fragen beantworten:
- Was muss überprüft werden, bevor eine neue Version live geht?
- Wie überprüfen Sie es?
- Was tun Sie, wenn etwas schiefgeht?
Halten Sie es kurz. Eine gute Checkliste für ein kleines Team könnte so aussehen:
- Hat die neue Version die grundlegenden Tests bestanden?
- Ist die Datenbank bereit für die Änderung?
- Haben wir die Änderung anderen Teams mitgeteilt?
- Wissen wir, wie wir zurückrollen, wenn etwas kaputtgeht?
Schreiben Sie dies auf ein Whiteboard, in ein gemeinsames Dokument oder in Ihren Team-Chat. Das Format spielt keine Rolle. Wichtig ist die Gewohnheit, es vor jedem Release zu überprüfen. Mit der Zeit werden diese manuellen Prüfungen zu Kandidaten für die Automatisierung. Aber morgen früh fangen Sie einfach damit an, aufzuschreiben, was überprüft werden muss.
Weisen Sie eine Person pro Release zu
Bestimmen Sie eine Person, die für jedes Release verantwortlich ist. Das bedeutet nicht, dass sie die ganze Arbeit macht. Es bedeutet, dass sie sicherstellt, dass die Checkliste befolgt wird, dass sie weiß, wann die neue Version live geht, und dass sie bereit ist zu reagieren, wenn etwas schiefgeht. Rotieren Sie diese Rolle jede Woche oder jedes Release. Das Ziel ist einfach: Kein Release findet statt, ohne dass jemand vollständig dafür verantwortlich ist.
Bei dieser Rolle geht es nicht um Autorität. Es geht um Sichtbarkeit. Wenn eine Person das Release besitzt, gibt es keine Verwirrung darüber, wer das Deployment überwacht. Es gibt keine Annahme, dass jemand anderes das Problem bemerken wird. Es gibt einen einzigen Ansprechpartner, wenn Fragen auftauchen.
Warum diese kleinen Schritte wichtig sind
Diese Schritte wirken klein. Einen Ablauf zeichnen, eine Checkliste schreiben, einen Release-Verantwortlichen zuweisen. Sie klingen nicht nach den CI/CD-Transformationen, über die Sie in Blogbeiträgen lesen. Aber sie sind das Fundament, das alles andere möglich macht.
Wenn Sie den Ablauf zeichnen, sehen Sie, wo die Automatisierung die größte Wirkung haben wird. Wenn Sie eine Checkliste schreiben, definieren Sie, was die Automatisierung überprüfen soll. Wenn Sie einen Release-Verantwortlichen zuweisen, schaffen Sie Verantwortlichkeit, die Automatisierung nicht ersetzen kann.
Diese Schritte bauen auch die Gewohnheit auf, die Auslieferung als einen Prozess zu betrachten. Viele Teams springen direkt zu Tools. Sie installieren Jenkins oder GitHub Actions und beginnen, Pipelines zu bauen, ohne ihren aktuellen Ablauf zu verstehen. Das Ergebnis ist eine Automatisierung, die kaputte Prozesse abbildet. Die Builds laufen schneller, aber die Releases scheitern immer noch, weil niemand die Datenbankmigration überprüft hat.
Mit dem Ablauf und der Checkliste zu beginnen bedeutet, dass Sie die richtigen Dinge automatisieren. Sie automatisieren die Prüfungen, die wichtig sind, nicht die Prüfungen, die einfach zu skripten sind.
Was als Nächstes kommt
Nach ein paar Releases mit diesem einfachen Prozess werden sich Muster abzeichnen. Sie werden bemerken, welche Prüfungen immer gleich sind. Sie werden bemerken, welche Schritte am meisten Zeit in Anspruch nehmen. Sie werden bemerken, welche Teile des Ablaufs die meisten Fehler verursachen. Diese Muster sagen Ihnen, was Sie als Nächstes automatisieren sollten.
Vielleicht ist der Build-Schritt immer gleich, also schreiben Sie ein Skript, um ihn auf einem gemeinsamen Server auszuführen. Vielleicht wird die Datenbankmigrationsprüfung immer vergessen, also fügen Sie sie zu Ihrem Deployment-Skript hinzu. Vielleicht wird die Rollback-Prozedur nie getestet, also planen Sie einen Übungslauf.
So wächst CI/CD organisch. Es beginnt mit dem Verständnis Ihres aktuellen Prozesses, nicht mit der Installation eines Tools. Es beginnt mit einer Checkliste, nicht mit einer Pipeline-Konfiguration. Es beginnt mit einer verantwortlichen Person, nicht mit einem Team von Plattformingenieuren.
Die konkrete Handlungsempfehlung
Morgen früh tun Sie drei Dinge:
- Zeichnen Sie mit Ihrem Team Ihren aktuellen Auslieferungsablauf auf Papier.
- Schreiben Sie eine fünfzeilige Release-Checkliste basierend auf dem, was Sie sehen.
- Weisen Sie eine Person zu, die das nächste Release verantwortet.
Das ist Ihr erster Schritt. Es kostet nichts. Es dauert eine Stunde. Und es gibt Ihnen ein Fundament, das kein Tool ersetzen kann.