Skip to content

Ambienti di sviluppo

Fabio Bonelli edited this page Aug 2, 2022 · 7 revisions

Ambienti

Il sito è disponibile pubblicamente su tre ambienti:

Ambiente di sviluppo interno (Vercel)

L'ambiente di sviluppo interno serve per testare le feature ancora in lavorazione e fa uso del branch develop. Per l'ambiente di sviluppo interno, sono impostate su Vercel le seguenti variabili d'ambiente:

  • BUILD_ENV = development (fa sì che durante la build vengano usate le API di DatoCMS per ottenere anche i contenuti in "bozza")
  • BASE_URL = ***** (il dominio dell'ambiente di sviluppo interno, visibile su Vercel)
  • DATO_API_TOKEN = ***** (secret su Vercel)

Si può ripubblicare l'ambiente facendo push su develop oppure su DatoCMS attraverso il link "Pubblicazione su ambiente di sviluppo interno"

Ambiente di staging (Vercel)

L'ambiente di staging fa uso del branch main e quindi il codice sorgente è sempre allineato con l'ambiente di produzione. Questo ambiente serve per i redattori poiché utilizza i contenuti di DatoCMS ancora "in bozza". Per l'ambiente di staging, sono impostate su Vercel le seguenti variabili d'ambiente:

  • BUILD_ENV = development (fa sì che durante la build vengano usate le API di DatoCMS per ottenere anche i contenuti in "bozza")
  • BASE_URL = ***** (il dominio dell'ambiente di staging, visibile su Vercel)
  • DATO_API_TOKEN = ***** (secret su Vercel)

Si può ripubblicare l'ambiente facendo push su main oppure su DatoCMS attraverso il link "Pubblicazione su ambiente di staging"

Ambiente di pre-produzione (Vercel)

L'ambiente di pre-produzione serve come verifica dopo una release da parte di chi sviluppa.

Sono impostate su Vercel le seguenti variabili d'ambiente (nel progetto innovazione-gov-it-preprod, diverso dagli altri ambienti perché Vercel non permette di fare build di uno stesso branch con variabili ambientali diverse):

  • BUILD_ENV = production (fa sì che durante la build vengano usate le API di DatoCMS per ottenere soltanto i contenuti pubblicati)
  • BASE_URL = ***** (il dominio di pre-produzione, visibile su Vercel)
  • DATO_API_TOKEN = ***** (secret su Vercel)

Si può ripubblicare l'ambiente facendo push su main.

Ambiente di produzione (GitHub Pages)

Per l'ambiente di staging, sono impostate su GitHub le seguenti variabili d'ambiente e la build avviene attraverso GitHub Actions:

  • BUILD_ENV = production (fa sì che durante la build vengano usate le API di DatoCMS per ottenere soltanto i contenuti pubblicati)
  • BASE_URL = https://innovazione.gov.it/ (il dominio di produzione)
  • DATO_API_TOKEN = ***** (secret su GitHub)

Si può ripubblicare l'ambiente facendo push su main oppure su DatoCMS attraverso il link "Pubblicazione su ambiente di produzione"

Riassunto

Ambiente Branch git Contenuti Dove Trigger di build
Feature branch Contenuti pubblicati & bozze Vercel ("Preview" Deployment)
  • Nuova PR
  • Push su feature branch
Ambiente di sviluppo interno develop Contenuti pubblicati & bozze Vercel ("Preview" Deployment)
  • Push in develop
  • Trigger "Ambiente di sviluppo" di DatoCMS
Ambiente di staging main Contenuti pubblicati & bozze Vercel ("Production" Deployment)
  • Merge di main
  • Trigger "STAGING" di DatoCMS
Ambiente di pre-produzione main Contenuti pubblicati Vercel - Progetto innovazione-gov-it-preprod ("Production" Deployment)
  • Merge di main
Ambiente di produzione main Contenuti pubblicati GitHub Pages
  • Trigger "PRODUZIONE" di DatoCMS