EmDash のアップデート

このページ

このガイドはサイト運用者向けです:EmDash で構築されたサイトを運用し、新しいリリースに更新したい方が対象です。emdash パッケージと @emdash-cms/cloudflare を扱います。プラグインパッケージには独自のガイド Upgrading plugins on your site があり、独自のコレクションとフィールドの変更については Evolving a Deployed Site で扱います。

リリースとバージョン番号

EmDash はバージョン 1.0 より前にリリースされており、バージョン番号は2つのルールに従います:

  • パッチリリース(例:0.35.0 から 0.35.1)はバグ修正と小さな改善を含みます。
  • マイナーリリース(例:0.35 から 0.36)は新機能と破壊的変更を含みます。破壊的変更はリリースエントリで Breaking と表示され、エントリにはあなたに必要なアクションが記載されています。

emdash@emdash-cms/cloudflare は一緒にリリースされ、同じバージョン番号を共有します。@emdash-cms/cloudflare は正確に一致する emdash バージョンに依存するため、2つのパッケージを1ステップで更新してください。@emdash-cms/plugin-forms のようなプラグインパッケージは独自のバージョン番号を持ち、必要な最小 emdash バージョンを宣言します。

リリースページ にはパッケージとバージョンごとに1つのエントリがあります。更新前に、インストール済みバージョンからターゲットまでの emdash エントリを読み、サイトが Cloudflare で動作している場合は @emdash-cms/cloudflare も同じ範囲を読んでください。

更新前に

バックアップを取ってください。新しいリリースがデータベースに適用するコアマイグレーションには元に戻すステップがないため、バックアップが以前の状態に戻る唯一の方法です。Backups で各データベースのオプションを説明しています。

サイトをビルドするマシンと、Node.js デプロイメントの場合はサーバーの Node.js バージョンを確認してください。Getting Started にサポートされるバージョンが記載されています。

パッケージの更新

以下のコマンドは pnpm と Cloudflare テンプレートから作成されたサイトを使用しています。Node.js デプロイメントの場合は @emdash-cms/cloudflare を省略してください。

  1. インストール済みバージョンと最新リリースを確認します。

    pnpm outdated emdash @emdash-cms/cloudflare
  2. 両方のパッケージを最新リリースに更新します。

    テンプレートで生成された package.json はパッケージを ^0.35.0 のようなキャレット範囲でリストします。1.0 未満のバージョンでは、キャレット範囲はパッチリリースのみ(0.35.1 は可、0.36.0 は不可)を許可し、オプションなしの pnpm up は範囲内に留まります。--latest フラグは範囲を最新リリースに書き換えてインストールします。

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

    package.json のプラグインパッケージも同じコマンドに追加してください。

  3. サイトをビルドします。

    pnpm build

    ビルドはインストール済みバージョンのマイグレーションマニフェストを書き出します。ビルドが失敗した場合は、更新後にサイトが壊れた場合 を参照してください。

  4. サイトをローカルで起動し、/_emdash/admin で管理画面を開きます。

    pnpm dev

    EmDash インテグレーションは開発サーバーの起動時に emdash-env.d.ts を生成します。保留中のコアマイグレーションは最初のリクエストで実行されます。

デプロイと検証

他の変更と同じ方法でビルドをデプロイします。以下のコマンドは Cloudflare サイトをデプロイします。Node.js デプロイメントの場合は、新しいビルドでサーバープロセスを再起動してください。

pnpm wrangler deploy

デフォルトのランタイムマイグレーションモード auto では、デプロイされたサイトは最初のリクエストで保留中のコアマイグレーションを適用します。新しいコードがトラフィックを受信する前にマイグレーションを適用し、デプロイ後にデータベースを検証するには、Manage Core Database Migrations に従ってください。その emdash migrate --check コマンドは、デプロイされたデータベースにインストール済みバージョンの保留中または不明なマイグレーションがある場合にゼロ以外で終了します。

デプロイ後、管理画面とサイトの公開ページを1つ開いてください。

更新後にサイトが壊れた場合

  • ビルドが失敗する、または自分のページがランタイムでエラーを出す:スキップしたバージョンの Breaking と表示されたリリースエントリを読み、記載された変更を行ってください。
  • プラグインのロードに失敗する:プラグイン自体のリリースエントリと Upgrading plugins on your site を読んでください。
  • エラーが Astro API または @astrojs/* パッケージに言及している:EmDash は Astro 6 以降が必要です。Astro のアップグレードガイドastro とその公式インテグレーションを一緒にアップデートする方法が説明されています。
  • 以前のリリースに戻すには、パッケージの以前のバージョンを再インストールしてください。再インストールではコアマイグレーションは元に戻りません。以前のリリースがマイグレーション済みデータベースに対して失敗する場合は、更新前に取ったバックアップを復元してください。