DevOps-bootcamp · Lektion

Smoke-tester, återställning och notifieringar

Verifiera, återställ och rapportera om utrullningen

Lektion 4 av 413 steg

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: true

Verifiera 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: lb1

Misslyckas 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! 🏆

Gratis att börja

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

  1. Utforma projektet: roller och inventory
  2. Tillhandahåll, härda och bootstrap:a värdar
  3. Rullande utrullning bakom lastbalanseraren
  4. Smoke-tester, återställning och notifieringar
← Tillbaka till DevOps-bootcamp