Aggiornare EmDash

In questa pagina

Questa guida è per gli operatori di siti: persone che gestiscono un sito costruito su EmDash e vogliono portarlo a una release più recente. Copre il pacchetto emdash e @emdash-cms/cloudflare. I pacchetti dei plugin hanno la propria guida, Upgrading plugins on your site, e le modifiche alle proprie collezioni e campi sono coperte in Evolving a Deployed Site.

Release e numeri di versione

EmDash è rilasciato prima della versione 1.0, e i suoi numeri di versione seguono due regole:

  • Una release patch, ad esempio da 0.35.0 a 0.35.1, contiene correzioni di bug e piccoli miglioramenti.
  • Una release minor, ad esempio da 0.35 a 0.36, contiene nuove funzionalità e qualsiasi modifica incompatibile. Una modifica incompatibile è contrassegnata con Breaking nella sua voce di release, e la voce indica l’azione che richiede da parte vostra.

emdash e @emdash-cms/cloudflare sono rilasciati insieme e condividono un numero di versione. @emdash-cms/cloudflare dipende dalla versione esatta corrispondente di emdash, quindi aggiornate i due pacchetti in un unico passaggio. I pacchetti dei plugin come @emdash-cms/plugin-forms hanno i propri numeri di versione e dichiarano la versione minima di emdash di cui hanno bisogno.

La pagina delle release ha una voce per pacchetto e versione. Prima di un aggiornamento, leggete le voci emdash tra la vostra versione installata e l’obiettivo, e lo stesso intervallo per @emdash-cms/cloudflare se il sito gira su Cloudflare.

Prima dell’aggiornamento

Fate un backup. Le migrazioni del core che una nuova release applica al database non hanno un passaggio di annullamento, quindi un backup è l’unico modo per tornare allo stato precedente. Backups descrive le opzioni per ogni database.

Controllate la versione di Node.js sulla macchina che costruisce il sito e, per un deploy su Node.js, sul server. Getting Started elenca le versioni supportate.

Aggiornare i pacchetti

I comandi seguenti usano pnpm e un sito creato da un template Cloudflare. Per un deploy su Node.js, omettete @emdash-cms/cloudflare.

  1. Controllate le versioni installate e l’ultima release.

    pnpm outdated emdash @emdash-cms/cloudflare
  2. Portate entrambi i pacchetti all’ultima release.

    Un package.json generato da template elenca i pacchetti con un range caret come ^0.35.0. Per versioni inferiori a 1.0, un range caret ammette solo release patch (0.35.1, non 0.36.0), e pnpm up senza ulteriori opzioni resta nel range. Il flag --latest riscrive il range alla release più recente e la installa.

    pnpm up --latest emdash @emdash-cms/cloudflare

    Aggiungete i pacchetti dei plugin dal vostro package.json allo stesso comando.

  3. Compilate il sito.

    pnpm build

    Il build scrive il manifesto di migrazione per la versione installata. Se il build fallisce, vedete Se il sito si rompe dopo un aggiornamento.

  4. Avviate il sito localmente e aprite l’admin su /_emdash/admin.

    pnpm dev

    L’integrazione EmDash genera emdash-env.d.ts all’avvio del server di sviluppo. Le migrazioni del core in sospeso vengono eseguite alla prima richiesta.

Distribuire e verificare

Distribuite il build come qualsiasi altro cambiamento. Il seguente comando distribuisce un sito Cloudflare; per un deploy su Node.js, riavviate il processo server con il nuovo build.

pnpm wrangler deploy

Con la modalità di migrazione runtime predefinita, auto, il sito distribuito applica le migrazioni del core in sospeso alla sua prima richiesta. Per applicarle prima che il nuovo codice riceva traffico, e per verificare il database distribuito successivamente, seguite Manage Core Database Migrations. Il suo comando emdash migrate --check esce con codice diverso da zero quando il database distribuito ha migrazioni in sospeso o sconosciute per la versione installata.

Dopo il deploy, aprite l’admin e una pagina pubblica del sito.

Se il sito si rompe dopo un aggiornamento

  • Il build fallisce, o una vostra pagina dà errore a runtime: leggete le voci di release contrassegnate con Breaking per le versioni che avete saltato ed effettuate le modifiche indicate.
  • Un plugin non riesce a caricarsi: leggete la voce di release propria del plugin e Upgrading plugins on your site.
  • Un errore nomina un’API di Astro o un pacchetto @astrojs/*: EmDash richiede Astro 6 o successivo. La guida di aggiornamento di Astro spiega come aggiornare astro e le sue integrazioni ufficiali insieme.
  • Per tornare alla release precedente, reinstallate le versioni precedenti dei pacchetti. La reinstallazione non annulla le migrazioni del core; se la release precedente fallisce contro il database migrato, ripristinate il backup effettuato prima dell’aggiornamento.