Smoke-tester, återställning och notifieringar
Verifiera, återställ och rapportera om utrullningen
Smoke-tester, återställning och notifieringar är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
En driftsättning är inte klar vid omladdning
En färdig play är inte en fungerande app. Du behöver fortfarande smoketester, en väg för återställning och en avisering. Slutför hela flödet. 🔁
Testa endpointen med ett smoketest
Anropa en riktig route med modulen uri och verifiera att svaret är 200. Om appen inte svarar korrekt ska driftsättningen misslyckas tydligt.
- name: Smoke test
ansible.builtin.uri:
url: https://app.example.com/health
status_code: 200
return_content: trueVerifiera rätt version
Gå ett steg längre: läs svaret och använd assert för att bekräfta att versionen i drift överensstämmer med den du just har levererat.
- ansible.builtin.assert:
that:
- "app_version in smoke.content"
fail_msg: "Wrong version live"Omslut driftsättningen med ett block
Gruppera driftsättning och tester i ett block så att ett enda fel kan utlösa en gemensam återställningsväg.
- block:
- import_role:
name: deploy
- import_tasks: smoke.ymlÅterställ i rescue
Placera ångra-logiken i rescue: driftsätt den föregående versionen igen så att en misslyckad release aldrig lämnar användare med trasig kod.
rescue:
- name: Roll back
ansible.builtin.git:
repo: "{{ app_repo }}"
version: "{{ previous_version }}"
dest: /srv/appÅteraktivera alltid trafiken
Använd always för att placera noden bakom lastbalanseraren igen, oavsett om driftsättningen lyckades eller rullades tillbaka. Lämna aldrig en värd isolerad.
always:
- community.general.haproxy:
state: enabled
host: "{{ inventory_hostname }}"
delegate_to: lb1Misslyckas snabbt och tydligt
När något är fel ska du stoppa med ett användbart meddelande med modulen fail, så att loggen exakt visar vad som gick sönder.
- ansible.builtin.fail:
msg: "Health check failed on {{ inventory_hostname }}"Meddela teamet
Rapportera resultatet. En uppgift med community.general.slack publicerar om driftsättningen lyckades eller misslyckades, så att teamet vet att den är klar.
- community.general.slack:
token: "{{ slack_token }}"
msg: "Deployed {{ app_version }} ✅"E-post eller chatt – valet är ditt
Föredrar du e-post? Modulen mail skickar en sammanfattning. Alla kanaler fungerar; poängen är en tydlig, automatisk signal om driftsättningen.
- community.general.mail:
to: ops@example.com
subject: "Deploy {{ app_version }} complete"Spara den senaste fungerande versionen
Återställning fungerar bara om du har sparat vilken version som kördes. Registrera previous_version före driftsättningen så att rescue vet vad som ska återställas.
vars:
previous_version: "2.4.0"
app_version: "2.4.1"En driftsättning du kan lita på
Testa, återställ vid fel, återställ alltid trafiken och meddela teamet. Det är en produktionsklar driftsättning från början till slut. 🎉
Snabb kontroll
En sektion garanterar att trafiken återställs.
Sammanfattning
Du slutförde hela flödet: smoketester, återställning i rescue, återaktivering i always och aviseringar till teamet. Slutprojektet är klart! 🏆
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Smoke-tester, återställning och notifieringar” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Smoke-tester, återställning och notifieringar”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Smoke-tester, återställning och notifieringar”?
Verifiera, återställ och rapportera om utrullningen Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Smoke-tester, återställning och notifieringar”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Utforma projektet: roller och inventory
- Tillhandahåll, härda och bootstrap:a värdar
- Rullande utrullning bakom lastbalanseraren
- Smoke-tester, återställning och notifieringar