0Pricing
DevOps Bootcamp · Lezione

Smoke test, rollback e notifiche

Verifichi, ripristini e segnali il deployment

Smoke test, rollback e notifiche è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

Il deploy non termina al reload

Un play completato non è un'app funzionante. Servono ancora smoke test, una procedura di rollback e una notifica. Completi il ciclo. 🔁

Esegua uno smoke test sull'endpoint

Interroghi una route reale con il modulo uri e verifichi che restituisca 200. Se l'app non risponde correttamente, il deploy deve fallire in modo evidente.

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

Verifichi la versione corretta

Vada oltre: legga la risposta e usi assert per confermare che la versione attiva corrisponda a quella appena distribuita.

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

Racchiuda il deploy in un block

Raggruppi il deploy e i test in un block, così un singolo errore può attivare un'unica procedura di ripristino condivisa.

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

Esegua il rollback in rescue

Inserisca la logica di annullamento in rescue: ridistribuisca la versione precedente, così una release non riuscita non lascerà mai gli utenti con codice difettoso.

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

Riabiliti sempre il traffico

Usi always per rimettere il nodo dietro al bilanciatore di carico, sia che il deploy vada a buon fine sia che venga eseguito il rollback. Non lasci mai un host isolato.

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

Fallisca subito e in modo chiaro

Quando qualcosa non va, interrompa l'esecuzione con un messaggio utile usando il modulo fail, così il log indica esattamente cosa si è rotto.

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

Informi il team

Comunichi l'esito. Un task community.general.slack pubblica un messaggio di successo o di errore, così il team sa che il deploy è terminato.

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

Email o chat, a Sua scelta

Preferisce l'email? Il modulo mail invia un riepilogo. Qualsiasi canale va bene: l'importante è avere un segnale di deploy chiaro e automatico.

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

Conservi l'ultima versione valida

Il rollback funziona solo se la versione è stata tracciata. Registri previous_version prima del deploy, così rescue saprà cosa ripristinare.

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

Un deploy di cui fidarsi

Esegua i test, faccia rollback in caso di errore, ripristini sempre il traffico e informi il team. Questo è un deploy pronto per la produzione, dall'inizio alla fine. 🎉

Controllo rapido

Una sezione garantisce il ripristino del traffico.

Riepilogo

Ha completato il ciclo: smoke test, rollback in rescue, riabilitazione in always e notifiche al team. Modulo conclusivo completato! 🏆

Domande Frequenti

La lezione «Smoke test, rollback e notifiche» è gratuita?

Sì — il testo completo di «Smoke test, rollback e notifiche» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Smoke test, rollback e notifiche»?

Verifichi, ripristini e segnali il deployment Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Smoke test, rollback e notifiche»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Progettare il progetto: ruoli e inventory
  2. Effettuare il provisioning, rafforzare e inizializzare gli host
  3. Deploy progressivo dietro il load balancer
  4. Smoke test, rollback e notifiche
← Torna a DevOps Bootcamp