Ansible Academy · leksjon

Røykktester, tilbakerulling og varslinger

Kontroller, gjenopprett og rapporter om utrullingen.

Leksjon 4 av 413 trinn

Røykktester, tilbakerulling og varslinger er en gratis leksjon i Ansible Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Ansible Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Utrulling er ikke ferdig ved reload

En ferdig play er ikke en fungerende app. Du trenger fortsatt smoke-tester, en plan for rollback og en varsling. Lukk hele sløyfen. 🔁

Kjør en smoke-test av endepunktet

Kall en ekte rute med uri-modulen og kontroller at den returnerer 200. Hvis appen ikke svarer riktig, skal utrullingen feile tydelig.

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

Kontroller riktig versjon

Gå et skritt videre: Les svaret og bruk assert til å bekrefte at versjonen i drift samsvarer med den du nettopp leverte.

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

Pakk utrullingen inn i en block

Grupper utrullingen og testene i en block, slik at én enkelt feil kan utløse én felles gjenopprettingsbane.

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

Rollback i rescue

Legg angrelogikken i rescue: Distribuer den forrige versjonen på nytt, slik at en mislykket release aldri lar brukerne sitte igjen med ødelagt kode.

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

Aktiver alltid trafikken igjen

Bruk always til å plassere noden bak lastbalansereren igjen, enten utrullingen lyktes eller ble rullet tilbake. La aldri en vert bli stående uten trafikk.

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

Stans raskt og tydelig

Når noe er galt, stanser du med en nyttig melding ved hjelp av fail-modulen, slik at loggen sier nøyaktig hva som gikk galt.

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

Varsle teamet

Rapporter resultatet. En community.general.slack-oppgave publiserer om utrullingen lyktes eller mislyktes, slik at teamet vet at den er ferdig.

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

E-post eller chat – du velger

Foretrekker du e-post? mail-modulen sender et sammendrag. Alle kanaler fungerer; poenget er et tydelig, automatisk signal om utrullingen.

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

Behold den siste gode versjonen

Rollback fungerer bare hvis du har holdt oversikt over versjonen. Registrer previous_version før utrullingen, slik at rescue vet hva som skal gjenopprettes.

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

En utrulling du kan stole på

Test, rull tilbake ved feil, gjenopprett alltid trafikken og informer teamet. Det er en produksjonsklar utrulling fra ende til annen. 🎉

Hurtigsjekk

Én seksjon garanterer at trafikken blir gjenopprettet.

Oppsummering

Du lukket hele sløyfen: smoke-tester, rollback i rescue, aktivering igjen i always og varslinger til teamet. Hovedoppgaven er fullført! 🏆

Gratis å komme i gang

Lær deg YAML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Røykktester, tilbakerulling og varslinger» gratis?

Ja – hele teksten i «Røykktester, tilbakerulling og varslinger» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Ansible Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Ansible Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Røykktester, tilbakerulling og varslinger»?

Kontroller, gjenopprett og rapporter om utrullingen. Du øver på Ansible Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Ansible Academy?

Ingen tidligere erfaring er nødvendig. Ansible Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Røykktester, tilbakerulling og varslinger»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Ansible Academy-leksjonen?

Ja. Alle Ansible Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Utform prosjektet: Roller og inventory
  2. Klargjør, sikre og bootstrap verter
  3. Trinnvis utrulling bak lastbalanseren
  4. Røykktester, tilbakerulling og varslinger
← Tilbake til Ansible Academy