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: trueDie 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.ymlRollback 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/appTraffic 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: lb1Schnell 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
- Das Projekt konzipieren: Rollen und Inventory
- Hosts bereitstellen, absichern und initialisieren
- Rolling Deployment hinter dem Load Balancer
- Smoke-Tests, Rollback und Benachrichtigungen