Kontinuierliche Integration und Auslieferung CI/CD

CI/CD ist ein automatischer Weg, der jede Änderung an Ihrer Software testet und sie bei bestandenen Tests live stellt, damit ein Release kein gefürchteter Termin mehr ist.

Auch bekannt als kontinuierliche Integration kontinuierliche Auslieferung Deployment-Pipeline

Definition

CI/CD bringt eine Änderung an Ihrer Software von der Person, die sie geschrieben hat, zu den Leuten, die sie benutzen, ohne dass jemand die Schritte von Hand macht. Der Name hat zwei Hälften. Kontinuierliche Integration heißt, dass jede kleine Änderung noch am selben Tag in die Hauptkopie des Codes kommt, damit eine Maschine sie sofort testen kann. Kontinuierliche Auslieferung heißt, dass die Änderung live geht, sobald diese Tests bestanden sind, oder mit einem Knopfdruck bereitsteht.

Die meisten Betriebe kennen die andere Variante, bei der jemand am Donnerstagabend lange dasitzt und eine ausgedruckte Liste abarbeitet. Diese Person kopiert Dateien auf einen Server und hofft, was nervös macht, also passiert es selten. Und weil es selten passiert, trägt jede Veröffentlichung drei Monate Änderungen auf einmal. Wenn dann am Freitagmorgen etwas kaputt ist, weiß niemand, welche der vierzig Änderungen schuld war.

Hier liegt der übliche Denkfehler, denn der größte Teil des Gewinns kommt nicht von der Automatik selbst. Er kommt davon, wie oft man dank dieser Automatik veröffentlichen kann. Eine Veröffentlichung mit einer Änderung lässt sich leicht prüfen und leicht zurücknehmen, während eine mit vierzig Änderungen ein Rätsel mit Termin ist. Deshalb hat ein Team, das täglich liefert, weniger schlechte Nächte als ein Team, das alle drei Monate liefert. Der Unterschied ist die Größe des Schritts, nicht die Klugheit des Werkzeugs.

Dieser automatische Weg, den man Pipeline nennt, ist außerdem der natürliche Ort für die Prüfungen, an die von Hand niemand denkt. Zuerst die Tests, und dazu die Suche nach bekannten Lücken in den fremden Bibliotheken, auf denen Ihr System steht. Linkysoft baut diese Prüfung bei jedem Webanwendungsprojekt in die Pipeline ein, denn eine Prüfung, die nur läuft, wenn sich jemand erinnert, läuft nicht. Unser Team für IT-Sicherheit legt danach fest, was die Pipeline gar nicht erst herauslässt.

Eine ehrliche Grenze bleibt. Eine Handy-App kann nicht in vier Minuten live gehen, weil Apple und Google jede neue Fassung erst prüfen, und das dauert Stunden oder Tage. Die Pipeline baut und testet die App trotzdem, und nur der letzte Schritt wartet. Bevor Sie unterschreiben, lassen Sie sich eine Veröffentlichung vorführen und danach die Rücknahme, während Sie zusehen. Linkysoft beantwortet das lieber mit einer Vorführung als mit einem Dokument, denn wie lange die Rücknahme dauert, sagt mehr als jede Zeichnung.

Fragen zu Kontinuierliche Integration und Auslieferung

Brauche ich CI/CD für ein kleines Projekt?
Ändert sich Ihr System zweimal im Jahr, ist das nicht die erste Ausgabe. Ändert es sich wöchentlich, zahlt sich die Pipeline in einem Monat gesparter Abende aus.
Heißt CI/CD, dass Änderungen ungeprüft live gehen?
Nein. Ein Mensch liest die Änderung weiterhin und gibt sie frei. Die Pipeline übernimmt nur die Schritte, die eine Maschine prüfen kann, etwa Tests starten und Dateien kopieren.
Wie lange darf eine Veröffentlichung dauern?
Bei einem Websystem Minuten. Bei einer Handy-App ist es anders, weil Apple und Google jede Fassung prüfen, rechnen Sie mit Stunden oder zwei Tagen.
Was passiert, wenn eine Veröffentlichung etwas kaputt macht?
Man spielt die vorige Fassung zurück, meist in einem Schritt. Lassen Sie sich diesen Schritt vorführen statt beschreiben, denn ein nie geübter Rückweg klappt am schlechten Tag selten.
Ist CI/CD dasselbe wie DevOps?
Nein. DevOps ist eine Arbeitsweise, bei der die Leute, die die Software bauen, sie auch im Betrieb betreuen. CI/CD ist ein handfestes Stück davon und das sichtbarste.

Immer noch unsicher, was das für Ihr Projekt bedeutet?

Sagen Sie uns, was Sie bauen, und wir antworten in klarer Sprache.