Røykktester, tilbakerulling og varslinger
Kontroller, gjenopprett og rapporter om utrullingen.
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: trueKontroller 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.ymlRollback 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/appAktiver 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: lb1Stans 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! 🏆
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
- Utform prosjektet: Roller og inventory
- Klargjør, sikre og bootstrap verter
- Trinnvis utrulling bak lastbalanseren
- Røykktester, tilbakerulling og varslinger