コンセプト

サイトマニフェスト

Showly は、ルート、ビルド コマンド、実行時のニーズについてどのように説明していますか。

サイト マニフェストは、Showly がサイトを構築、展開、提供する方法を知るために使用するドキュメントです。これは、インポートされたワークスペースのルートに showly.json として存在します。これはすべてのビルドの信頼できる情報源です。自動検出により、インポート時に初期バージョンが生成されます。いつでも手動で編集できます。

rootDirectory を除き、すべてのフィールドはオプションです。デフォルトは . です。 Showly は自動検出から適切なデフォルトを入力するため、最小限の有効なマニフェストは空のオブジェクトにすることができます。

ファイル構造

{
  "rootDirectory": ".",
  "runtime": "node",
  "runtimeVersion": "22",
  "packageManager": "pnpm",
  "installCommand": "pnpm install",
  "buildCommand": "pnpm build",
  "output": {
    "type": "static",
    "directory": "dist"
  },
  "startCommand": "node server.js"
}

フィールド参照

rootDirectory — サイトを含むリポジトリ内のディレクトリ。デフォルトは . です。単一のリポジトリがサブディレクトリ内のサイトを保持する場合にこれを設定します。

runtime — デプロイされたサイトの実行ランタイム。 staticnoderustgodocker のいずれか。省略した場合、Showly は検出されたフレームワークから推測します。

runtimeVersion — ランタイム バージョン (ノードのメジャー バージョンなど)。 Showly は現在のアクティブ LTS 回線をサポートします。ライブセットはGET /admin/platform/runtime-catalogです。

packageManager — 使用するパッケージ マネージャー (たとえば、pnpmnpm、または yarn)。デフォルトはロックファイルから検出されたものです。

installCommand — 依存関係をインストールするシェル コマンド。デフォルトはパッケージマネージャーの標準インストールコマンドです。

buildCommand — デプロイ可能なアーティファクトを生成するシェル コマンド。デフォルトはフレームワークの標準ビルド コマンドですが、独自のビルド コマンドを指定することもできます。

output — ビルドがアーティファクトを生成する場所と方法。 2 つのオプションのキーを持つネストされたオブジェクト: type (アーティファクトの種類) と directory (rootDirectory を基準としたビルドの書き込み先のパス)。

startCommand — 存続期間の長いプロセス (node など) を実行するランタイムのサーバーを起動するコマンド。静的サイトには必要ありません。

フレームワークの検出

framework はマニフェスト入力ではありません ** — Showly は、package.json、ロックファイル、およびその他のリポジトリ規則からそれを自動検出します。検出された値は、astrovitenext-exportstatic-htmlcustomunknown のいずれかです。フレームワークが unknown に解決される場合、ビルドは UnsupportedFrameworkError で失敗します。 set runtime と関連コマンドを明示的にデプロイするプロジェクト Showly は分類できません。

手動で編集する場合

  • ビルド コマンドを変更したので、Showly を従わせたいと考えています。
  • リポジトリのサブディレクトリにサイトがあります — rootDirectory を設定します。
  • 自動検出はランタイムを間違って推測しました - runtime を明示的に設定します。
  • インストールまたは開始コマンドがパッケージ マネージャーのデフォルトとは異なります。

検証モードと失敗モード

  • showly.json が有効な JSON ではない場合、またはオブジェクト以外のものに解析される場合、ビルドは InvalidManifestError で失敗します。
  • フレームワークを分類できない場合 (unknown に解決される)、ビルドは UnsupportedFrameworkError で失敗します。

マニフェストが制御しないもの

  • 環境変数値 — これらは、Showly UI で環境ごとに設定され、シークレット ストアに保存されます。
  • 承認ルール — これらはワークスペース ポリシーです。
  • デプロイ ターゲット (サーバーレス コンテナー vs 静的 CDN) — これはデプロイメント ターゲットの設定です。

マニフェストは_ビルドがどのように見えるか_です。ワークスペース設定は、_結果に対して誰が何を実行できるか_です。