Diese Anleitung ist für Website-Betreiber: Personen, die eine auf EmDash aufgebaute Website betreiben und sie auf eine neuere Version bringen möchten. Sie behandelt das emdash-Paket und @emdash-cms/cloudflare. Plugin-Pakete haben ihre eigene Anleitung, Upgrading plugins on your site, und Änderungen an Ihren eigenen Collections und Feldern werden in Evolving a Deployed Site behandelt.
Releases und Versionsnummern
EmDash wird vor Version 1.0 veröffentlicht, und seine Versionsnummern folgen zwei Regeln:
- Ein Patch-Release, zum Beispiel 0.35.0 auf 0.35.1, enthält Bugfixes und kleine Verbesserungen.
- Ein Minor-Release, zum Beispiel 0.35 auf 0.36, enthält neue Features und jede Breaking Change. Eine Breaking Change wird in ihrem Release-Eintrag mit Breaking gekennzeichnet, und der Eintrag nennt die Aktion, die sie von Ihnen erfordert.
emdash und @emdash-cms/cloudflare werden zusammen veröffentlicht und teilen sich eine Versionsnummer. @emdash-cms/cloudflare hängt von der exakt passenden emdash-Version ab, aktualisieren Sie also die beiden Pakete in einem Schritt. Plugin-Pakete wie @emdash-cms/plugin-forms haben eigene Versionsnummern und deklarieren die Mindest-emdash-Version, die sie benötigen.
Die Releases-Seite hat einen Eintrag pro Paket und Version. Lesen Sie vor einem Update die emdash-Einträge zwischen Ihrer installierten Version und dem Ziel, und den gleichen Bereich für @emdash-cms/cloudflare, wenn die Website auf Cloudflare läuft.
Vor dem Update
Erstellen Sie ein Backup. Kernmigrationen, die eine neue Version auf die Datenbank anwendet, haben keinen Rückgängig-Schritt, daher ist ein Backup der einzige Weg zurück zum vorherigen Zustand. Backups beschreibt die Optionen für jede Datenbank.
Prüfen Sie die Node.js-Version auf der Maschine, die die Website baut, und bei einem Node.js-Deployment auf dem Server. Getting Started listet die unterstützten Versionen.
Pakete aktualisieren
Die folgenden Befehle verwenden pnpm und eine Website, die aus einem Cloudflare-Template erstellt wurde. Für ein Node.js-Deployment lassen Sie @emdash-cms/cloudflare weg.
-
Prüfen Sie die installierten Versionen und das neueste Release.
pnpm outdated emdash @emdash-cms/cloudflare -
Bringen Sie beide Pakete auf das neueste Release.
Eine von einem Template generierte
package.jsonlistet die Pakete mit einem Caret-Bereich wie^0.35.0. Für Versionen unter 1.0 lässt ein Caret-Bereich nur Patch-Releases zu (0.35.1, nicht 0.36.0), undpnpm upohne weitere Optionen bleibt innerhalb des Bereichs. Das--latest-Flag schreibt den Bereich auf das neueste Release um und installiert es.pnpm up --latest emdash @emdash-cms/cloudflareFügen Sie die Plugin-Pakete aus Ihrer
package.jsonzum selben Befehl hinzu. -
Bauen Sie die Website.
pnpm buildDer Build schreibt das Migrationsmanifest für die installierte Version. Falls der Build fehlschlägt, siehe Wenn die Website nach einem Update nicht funktioniert.
-
Starten Sie die Website lokal und öffnen Sie den Admin unter
/_emdash/admin.pnpm devDie EmDash-Integration generiert
emdash-env.d.tsbeim Start des Dev-Servers. Ausstehende Kernmigrationen laufen bei der ersten Anfrage.
Deployen und überprüfen
Deployen Sie den Build wie jede andere Änderung. Der folgende Befehl deployt eine Cloudflare-Website; für ein Node.js-Deployment starten Sie den Serverprozess mit dem neuen Build neu.
pnpm wrangler deploy
Mit dem Standard-Laufzeit-Migrationsmodus auto wendet die deployte Website ausstehende Kernmigrationen bei ihrer ersten Anfrage an. Um sie anzuwenden, bevor der neue Code Traffic empfängt, und um die deployte Datenbank danach zu überprüfen, folgen Sie Manage Core Database Migrations. Sein emdash migrate --check-Befehl beendet sich mit einem Nicht-Null-Exit-Code, wenn die deployte Datenbank ausstehende oder unbekannte Migrationen für die installierte Version hat.
Öffnen Sie nach dem Deploy den Admin und eine öffentliche Seite der Website.
Wenn die Website nach einem Update nicht funktioniert
- Der Build schlägt fehl oder eine Ihrer eigenen Seiten gibt zur Laufzeit einen Fehler aus: Lesen Sie die mit Breaking markierten Release-Einträge für die übersprungenen Versionen und führen Sie die genannten Änderungen durch.
- Ein Plugin kann nicht geladen werden: Lesen Sie den eigenen Release-Eintrag des Plugins und Upgrading plugins on your site.
- Ein Fehler nennt eine Astro-API oder ein
@astrojs/*-Paket: EmDash erfordert Astro 6 oder höher. Astros Upgrade-Guide erklärt, wie manastround seine offiziellen Integrationen zusammen aktualisiert. - Um zum vorherigen Release zurückzukehren, installieren Sie die vorherigen Versionen der Pakete erneut. Eine Neuinstallation macht Kernmigrationen nicht rückgängig; falls das vorherige Release gegen die migrierte Datenbank fehlschlägt, stellen Sie das vor dem Update erstellte Backup wieder her.