Modulo 11 — Deploy automatico in staging
Blocco B · La filiera automatizzata · 4 ore
Obiettivi
Chiudere il cerchio commit→servizio aggiornato: deploy automatico in staging via
SSH (compose pull/up), smoke test come criterio di successo, environments in
GitLab. Sul server: solo compose + .env, mai il codice.
Agenda
| Ora | Attività |
|---|---|
| 0:00–0:45 | Anatomia di un server di esercizio: cosa c'è (compose, .env, immagini dal registry) e cosa NON c'è (codice, build); staging identico a prod |
| 0:45–1:30 | Il job di deploy: SSH dalla pipeline, chiavi come variabili protette, smoke test con retry, environments e cronologia dei deploy |
| 1:30–3:30 | Lab 11: compose.staging + deploy.sh + job deploy-staging; deploy da merge; smoke test che boccia un deploy rotto |
| 3:30–4:00 | Debrief: chi possiede cosa (chiavi ai sistemisti, script nel repo) — la RACI si sta scrivendo da sola |
Concetti chiave
- Merge su main = staging aggiornato: nessun "passaggio a mano".
- Un deploy senza smoke test non è un deploy: è una speranza.
- Lo script di deploy è banale APPOSTA: pull + up + verifica. La complessità sta prima.
Materiali
- Lab:
lab/start/CONSEGNA.md(+ simulazione locale senza server SSH) →lab/final/