0Pricing
DevOps Bootcamp · Lektion

Smoke-Tests, Rollback und Benachrichtigungen

Prüfen Sie das Deployment, stellen Sie es wieder her und berichten Sie darüber.

Smoke-Tests, Rollback und Benachrichtigungen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Nach dem Reload ist der Deploy noch nicht abgeschlossen

Ein abgeschlossenes Playbook ist noch keine funktionierende Anwendung. Sie benötigen weiterhin Smoke-Tests, einen Rollback-Pfad und eine Benachrichtigung. Schließen Sie den Prozess ab. 🔁

Den Endpunkt per Smoke-Test prüfen

Rufen Sie mit dem uri-Modul eine echte Route auf und prüfen Sie, ob sie 200 zurückgibt. Antwortet die Anwendung nicht korrekt, sollte der Deploy deutlich fehlschlagen.

- name: Smoke test
  ansible.builtin.uri:
    url: https://app.example.com/health
    status_code: 200
    return_content: true

Die richtige Version prüfen

Gehen Sie noch weiter: Lesen Sie die Antwort und verwenden Sie assert, um zu bestätigen, dass die Live-Version der gerade ausgelieferten Version entspricht.

- ansible.builtin.assert:
    that:
      - "app_version in smoke.content"
    fail_msg: "Wrong version live"

Den Deploy in einen block einschließen

Gruppieren Sie Deploy und Tests innerhalb eines block, damit ein einzelner Fehler einen gemeinsamen Wiederherstellungspfad auslösen kann.

- block:
    - import_role:
        name: deploy
    - import_tasks: smoke.yml

Rollback in rescue

Platzieren Sie die Rückgängig-Logik in rescue: Stellen Sie die vorherige Version erneut bereit, damit ein fehlgeschlagener Release die Benutzer niemals auf fehlerhaftem Code zurücklässt.

  rescue:
    - name: Roll back
      ansible.builtin.git:
        repo: "{{ app_repo }}"
        version: "{{ previous_version }}"
        dest: /srv/app

Traffic immer wieder aktivieren

Verwenden Sie always, um den Node unabhängig davon, ob der Deploy erfolgreich war oder zurückgerollt wurde, wieder hinter den Load Balancer zu setzen. Lassen Sie niemals einen Host zurück.

  always:
    - community.general.haproxy:
        state: enabled
        host: "{{ inventory_hostname }}"
      delegate_to: lb1

Schnell und eindeutig fehlschlagen

Wenn etwas nicht stimmt, brechen Sie mit einer hilfreichen Meldung über das fail-Modul ab, damit das Log genau angibt, was fehlgeschlagen ist.

- ansible.builtin.fail:
    msg: "Health check failed on {{ inventory_hostname }}"

Das Team benachrichtigen

Melden Sie das Ergebnis. Eine Aufgabe mit community.general.slack veröffentlicht eine Erfolgs- oder Fehlermeldung, damit die zuständigen Personen wissen, dass der Deploy abgeschlossen ist.

- community.general.slack:
    token: "{{ slack_token }}"
    msg: "Deployed {{ app_version }} ✅"

E-Mail oder Chat – Sie haben die Wahl

Bevorzugen Sie E-Mail? Das mail-Modul versendet eine Zusammenfassung. Jeder Kanal ist geeignet; wichtig ist ein klares, automatisches Signal über den Deploy.

- community.general.mail:
    to: ops@example.com
    subject: "Deploy {{ app_version }} complete"

Die letzte funktionierende Version behalten

Ein Rollback funktioniert nur, wenn Sie die Version nachverfolgt haben. Speichern Sie previous_version vor dem Deploy, damit rescue weiß, was wiederhergestellt werden soll.

vars:
  previous_version: "2.4.0"
  app_version: "2.4.1"

Ein Deploy, dem Sie vertrauen können

Testen Sie, führen Sie bei einem Fehler ein Rollback durch, stellen Sie den Traffic immer wieder her und informieren Sie das Team. Das ist ein durchgehend produktionsreifer Deploy. 🎉

Schnelltest

Ein Abschnitt stellt sicher, dass der Traffic wiederhergestellt wird.

Zusammenfassung

Sie haben den Prozess abgeschlossen: Smoke-Tests, Rollback in rescue, erneute Aktivierung in always und Benachrichtigungen für das Team. Das Abschlussprojekt ist fertig! 🏆

Häufig gestellte Fragen

Ist die Lektion „Smoke-Tests, Rollback und Benachrichtigungen“ kostenlos?

Ja — der vollständige Text von „Smoke-Tests, Rollback und Benachrichtigungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Smoke-Tests, Rollback und Benachrichtigungen“?

Prüfen Sie das Deployment, stellen Sie es wieder her und berichten Sie darüber. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Smoke-Tests, Rollback und Benachrichtigungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das Projekt konzipieren: Rollen und Inventory
  2. Hosts bereitstellen, absichern und initialisieren
  3. Rolling Deployment hinter dem Load Balancer
  4. Smoke-Tests, Rollback und Benachrichtigungen
← Zurück zu DevOps Bootcamp