Runbook: deployment standard in produzione
Quando usarlo
Usare questo runbook per una finestra di produzione che può comprendere, soltanto in fasi seriali e separatamente autorizzate, migrazione D1, deployment API e deployment Frontend.
Prerequisiti
- Issue operativo di produzione con scope e stop condition completi;
- SHA congelato di
maine CI completa verde; - nessun run o operation concorrente;
- inventory delle versioni API e Frontend precedenti;
- elenco autorevole delle migrazioni pending;
- baseline health, D1, Access, CORS e route ownership verde;
- conferma che il Frontend è binding-free;
- autorizzazione non ancora consumata.
Procedura
- Avviare
Production operationsconpreflightePREFLIGHT_ONLY. - Conservare l'evidenza e fermarsi per il go/no-go successivo.
- Se servono migrazioni, eseguire il runbook D1; non proseguire su risultato non terminale o ambiguo.
- Ottenere autorizzazione API e avviare
deploy-api-workerconDEPLOY_PRODUCTION_API_WORKER. - Verificare API e D1 prima di qualsiasi operazione Frontend.
- Ottenere autorizzazione Frontend.
- Usare il percorso applicativo steady-state quando capability e azione server-owned sono disponibili; altrimenti seguire il runbook staging e attivazione previsto dall'Issue.
- Eseguire il runbook smoke limitato.
- Conservare evidenza terminale prima di chiudere la finestra.
Verifiche attese
- ogni fase ha un run e un go/no-go distinti;
- API, Frontend e D1 corrispondono alla revisione e alle migrazioni approvate;
- il Frontend serve asset statici senza binding;
- Access e CORS esatto proteggono l'Admin;
- domini e route hanno un owner unico;
- nessuna mutazione editoriale o Mailjet è avvenuta.
Condizioni di stop
Fermarsi su revision drift, CI incompleta, baseline non verde, migrazione inattesa, run concorrente, approvazione non autorevole, provider ambiguity, versione non dimostrata, smoke fallito o necessità di cambiare configurazione.
Rollback o recupero
Ripristinare soltanto il componente fallito con rollback API o rollback Frontend. Se D1 è coinvolto o la causa non è isolata, mantenere lo stato fail-closed e aprire un Issue di recupero.
Evidenza da conservare
- SHA e CI;
- baseline e target di rollback;
- run separati di preflight, migrazione, API e Frontend;
- versioni caricate e attivate;
- storia migrazioni;
- risultati health, D1, Access, CORS, route e static output;
- eventuale rollback e rischio residuo.