Vai al contenuto

Runbook: staging e attivazione Frontend

Quando usarlo

Usare questo runbook quando l'Issue richiede di caricare una versione Frontend senza traffico e attivarla soltanto dopo una verifica separata. Il percorso steady-state dall'Admin può invece caricare e attivare nello stesso workflow dopo l'approvazione applicativa.

Prerequisiti

  • SHA esatto e build Frontend deterministica;
  • origine API corretta per l'ambiente;
  • target Frontend precedente registrato;
  • pacchetto statico validato e privo di binding o marker sensibili;
  • autorizzazioni distinte per staging e attivazione;
  • API e D1 baseline verdi.

Procedura

  1. Eseguire npm run check:production.
  2. Avviare stage-frontend-version con STAGE_PRODUCTION_FRONTEND_VERSION.
  3. Registrare la versione caricata e verificare che non riceva traffico.
  4. Confrontare tag, SHA e metadati dell'artefatto.
  5. Ottenere il go/no-go separato per l'attivazione.
  6. Attivare l'esatta versione registrata:
npm run activate:frontend:production -- \
  --version-id <VERSIONE_FRONTEND_CARICATA> \
  --percentage 100 \
  --yes
  1. Non modificare trigger o domini.
  2. Eseguire il runbook smoke limitato.

Verifiche attese

  • staging terminale senza variazione di traffico;
  • attivazione al cento per cento della sola versione approvata;
  • dominio Frontend invariato;
  • HTML, asset, sitemap, robots, redirect e 404 conformi;
  • API, D1, Access e CORS ancora verdi;
  • Frontend sempre binding-free.

Condizioni di stop

Fermarsi se la versione caricata non è univoca, il tag non corrisponde allo SHA, lo staging cambia traffico, l'attivazione seleziona una versione diversa, il pacchetto contiene binding o lo smoke fallisce.

Rollback o recupero

Usare il rollback Frontend verso il target registrato. Non distribuire l'API, migrare D1 o cambiare routing durante il recupero.

Evidenza da conservare

  • SHA, build e origine API;
  • run di staging;
  • versione caricata e percentuale prima dell'attivazione;
  • autorizzazione di attivazione;
  • deployment/versione attiva;
  • risultati smoke;
  • eventuale rollback.