Lernpfad 04Lektion 9 / 10

Eine Freigabeentscheidung mit Nachweisen treffen

Prüfen Sie Version, Ziel, verbleibendes Risiko und Wiederherstellung. Trennen Sie Merge, Deployment und Nutzerfreigabe, wenn das System es erfordert.

Praxis9 minGeprüft

Veröffentlicht von Wie wir schreiben

Verständnis prüfenEin Reviewer genehmigt Commit A. Das Deployment baut jedoch Commit B mit einer zusätzlichen Autorisierungsänderung. Was ist nötig?Übung bearbeiten
Ein Reviewer genehmigt Commit A. Das Deployment baut jedoch Commit B mit einer zusätzlichen Autorisierungsänderung. Was ist nötig?

Das lernen Sie

  • Bestimmen, worauf sich eine Freigabeentscheidung beziehen muss.
  • Merge, Deployment und Freischaltung einer Funktion unterscheiden.
  • Bedingungen zum Stoppen oder Zurücknehmen einer Veröffentlichung definieren.

Formulieren Sie die Entscheidung präzise

Eine grüne Pipeline liefert Nachweise aus einer Gruppe von Prüfungen. Sie beschreibt die Freigabeentscheidung nicht vollständig. Der Verantwortliche muss wissen, was sich wo ändert und welche Folgen verbleiben.

Benennen Sie für einen fiktiven Kundenexport den angenommenen Commit und das daraus erzeugte Artefakt. Nennen Sie die Zielumgebung. Verlinken Sie relevante Tests, Review und genehmigte Ausnahmen. Beziehen Sie Daten- oder Infrastrukturänderungen ein, die die Anwendung begleiten.

Das NIST SSDF beschreibt sichere Entwicklungspraktiken. SLSA-Provenance hilft zu beschreiben, wie ein Artefakt entstand. Beides ersetzt nicht die Entscheidung, ob diese Veröffentlichung für diesen Dienst angemessen ist. NIST SSDF, SLSA-Provenance.

Trennen Sie drei Ereignisse

Ein Merge übernimmt eine Quellcodeänderung in einen Branch. Ein Deployment stellt ein Artefakt in einer Umgebung bereit. Die Freischaltung einer Funktion macht ihr Verhalten für Nutzer verfügbar. Diese Ereignisse können zusammenfallen, müssen aber nicht dasselbe Ereignis sein.

Ein Dienst kann eine inaktive Funktion bereitstellen und später freischalten. Eine Datenbankmigration kann die Produktion beeinflussen, bevor eine sichtbare Funktion erscheint. Definieren Sie die tatsächliche Abfolge. Nehmen Sie nicht an, dass ein PR-Merge jede Folge beschreibt.

Beim Export kann ein Feature Flag die anfängliche Freischaltung begrenzen. Es schützt nicht automatisch einen neuen Endpunkt und macht keine Schemamigration rückgängig. Prüfen Sie die Kontrolle dort, wo die Folge eintritt.

Prüfen Sie eine kompakte Nachweisdokumentation

Nutzen Sie einen Eintrag, den eine andere verantwortliche Person prüfen kann:

  • Zweck und betroffene Nutzer.
  • Commit- und Artefaktidentität.
  • Relevante Verhaltens-, Sicherheits- und Kompatibilitätsprüfungen.
  • Zielumgebung und Ausführungsidentität.
  • Verbleibende Ausnahmen mit Verantwortlichen und Ablaufbedingungen.
  • Monitoring, Wiederherstellungsmethode und Reaktionsverantwortlicher.

Halten Sie Aussagen konkret. „Tests bestanden“ ist schwächer als ein Link zu Ergebnissen für den Release-Commit mit klar beschriebener Abdeckung. „Rollback verfügbar“ ist schwächer als ein getestetes Verfahren mit benannten Grenzen.

Entscheiden Sie, wie gestoppt wird

Definieren Sie die Freigabebedingungen vor der Ausführung. Stoppen Sie beim fiktiven Export, wenn organisationsübergreifender Zugriff gelingt, das Artefakt vom angenommenen Hash abweicht oder keine Wiederherstellung verfügbar ist. Dies sind Beispielbedingungen und keine universelle Checkliste.

Prüfen Sie nach dem Deployment die für Nutzer wichtigen Signale. Vergleichen Sie Fehlerverhalten und Antwortzeiten mit den akzeptierten Dienstzielen. Ein funktionsfähiger Prozess beweist nicht, dass der Nutzerablauf funktioniert.

Ist eine Bedingung nicht erfüllt, nutzen Sie die vereinbarte Reaktion. Das kann die Abschaltung einer Funktion, ein Rollback kompatiblen Codes oder die Wiederherstellung von Daten bedeuten. Wählen Sie die Aktion, die den Fehler behandelt, ohne einen größeren zu erzeugen.

Bewahren Sie die Entscheidung nach der Veröffentlichung

Dokumentieren Sie das tatsächlich bereitgestellte Artefakt und das Ergebnis. Weicht die Ausführung vom Plan ab, machen Sie den Unterschied sichtbar. Lassen Sie Incidents und unerwartete Arbeit in den Entwurf der nächsten Veröffentlichung einfließen.

Ein automatisiertes Liefersystem sollte diese Dokumentation leichter prüfbar machen. Ein Reviewer sollte die Veröffentlichung nicht aus unverbundenen Chats, Logs und Screenshots rekonstruieren müssen. Klare Nachweise helfen Teams, Routinearbeit zu automatisieren und zugleich nachvollziehbare Verantwortung für Entscheidungen zu erhalten.

Übung bearbeiten

Erstellen Sie eine fiktive Freigabenotiz für den Kundenexport. Nennen Sie Commit, Artefakt-Hash, Umgebung, Autorisierungsprüfung, Migrationsfolgen, Monitoring-Verantwortlichen und Wiederherstellungsauslöser. Nennen Sie eine Bedingung, die die Veröffentlichung trotz bestandener Unit-Tests stoppen würde.

Arbeitsblatt herunterladen (Markdown)
Verständnis prüfen ↑

Weiterlernen

Quellen und weiterführende Lektüre

Passende Lektüre von Taiga

← Vorherige Lektion: KI-Entwicklung über Teams hinweg koordinieren