Zum Inhalt springen

Leistung 04 / 05

Auslieferungmit einem Weg zurück.

Automatisierte Auslieferung mit Prüfungen, die tatsächlich blockieren — und einem Rollback, das nicht erst im Ernstfall zum ersten Mal läuft.

01

Wann das passt

Vier Situationen, in denen diese Leistung die richtige Antwort ist.

  1. 01

    Deployments passieren freitags nicht mehr, weil niemand weiß, was am Montag kaputt ist.

  2. 02

    Die Pipeline ist grün, und trotzdem fällt die Produktion aus — die Prüfungen prüfen das Falsche.

  3. 03

    Die Umgebung auf dem Rechner einer Kollegin ist die einzige, in der alles läuft.

  4. 04

    Ein Ausfall wird vom Kunden gemeldet, nicht vom Monitoring.

02

Wie wir vorgehen

Reihenfolge und Haltung. Die vier Schritte selbst stehen unter Vorgehen.

Eine Pipeline ist nur so gut wie die Prüfung, die sie stoppt. Deshalb beginnt die Arbeit bei den Gates: Welche Tests, welche Sicherheits- und Lizenzprüfungen, welche Bauartefakte müssen bestehen, bevor etwas ausgeliefert wird — und was passiert, wenn sie das nicht tun. Ein Gate, das man umgehen kann, ist keins.

Umgebungen werden aus Code erzeugt, nicht von Hand gepflegt. Entwicklung, Vorschau und Produktion unterscheiden sich in der Konfiguration, nicht im Aufbau — so bleibt ein Fehler, der in der Vorschau nicht auftritt, auch in der Produktion aus.

Monitoring und Alerting werden auf die Fragen ausgerichtet, die im Ausfall zählen: Was ist kaputt, seit wann, und wie kommen wir zurück? Das Rollback wird geübt, bevor es gebraucht wird.

Aus dem Repository dieser SeiteStand a3e8bcf · .github/pipeline.yaml
deployment:
  provider: cloudflare-workers
  cloudflare:
    config: wrangler.jsonc
    # populateCache copies the prerendered [slug] pages into the asset bundle
    # (static-assets incremental cache, see open-next.config.ts); without it
    # every generateStaticParams route is a 404 on the Worker.
    build_command: npm run build && npx opennextjs-cloudflare build && npx opennextjs-cloudflare populateCache local

  # Three environments, one name each, identical in GitHub / Cloudflare /
  # Infisical. See ~/docs/operations/ENVIRONMENT_CONVENTION.md. `development`
  # is local-only and never deployed, so it has no entry here.
  #
  # Feature-branch PRs are deliberately NOT deployed: PR pipelines build, lint
  # and test only. The first deployment of a change is the merge to `dev`.
  environments:
    - name: preview
      trigger:
        event: push
        branch: dev
      auto_deploy: true

    - name: production
      trigger:
        event: push
        branch: main
      auto_deploy: true

Der Block, der genau diese Seite ausliefert — kein Beispiel, die Konfiguration. Beim nächsten Build wird er neu gelesen.

03

Was Sie bekommen

Was am Ende in Ihrem Besitz ist — nicht in unserem.

  1. 01

    CI/CD-Pipeline als Code, mit Gates für Tests, Sicherheit und Build

  2. 02

    Reproduzierbare Umgebungen für Entwicklung, Vorschau und Produktion

  3. 03

    Monitoring, Alerting und ein dokumentiertes, getestetes Rollback

  4. 04

    Ein Betriebshandbuch, das Ihr Team im Ernstfall tatsächlich benutzt

04

Wovon wir abraten

Die Fälle, in denen wir Nein sagen. Vorher, nicht hinterher.

Wir bauen keine Pipeline, die wir dann für Sie bedienen müssen. Wenn nach der Übergabe nur wir einen Deploy auslösen können, war es keine Übergabe.

05

Fragen

Was zu dieser Leistung meistens gefragt wird.

01Auf welchen Plattformen arbeiten Sie?

Am häufigsten GitHub Actions, Docker und Infrastructure as Code auf Cloudflare, Vercel oder eigener Infrastruktur. Bestehende Plattformen wie GitLab sind kein Hindernis — die Prinzipien sind dieselben.

02Wir haben schon eine Pipeline. Lohnt sich das trotzdem?

Häufig ja: Die meisten Pipelines liefern aus, aber wenige blockieren wirklich. Eine Bewertung der bestehenden Gates ist ein kleiner, klar begrenzter Auftrag.

03Wie schnell ist ein Rollback?

Das hängt von der Anwendung ab — bei zustandslosen Diensten Minuten, bei Datenbankänderungen so lange, wie die Migration rückwärts braucht. Genau deshalb wird sie im Vorfeld geplant und geprobt.

07

Reden wir.

Sie bekommen eine ehrliche Ersteinschätzung — inklusive der Fälle, in denen wir abraten.

Antwortzeit
In der Regel am nächsten Werktag.
Standort
Mainz, DeutschlandMainz
Optional.
Was soll entstehen, und was steht dem gerade im Weg? Ein paar Sätze genügen.