Kazzle CLI
Kazzle CLI を使用して、アプリコマンドを開発とプレビューで実行します:-- の後のすべてが実際のコマンドです。Kazzle はランタイム環境を最初に注入します。
kazzle run は開発とプレビューのみです。dev スクリプトに属し、start には決して入りません。本番環境では、デプロイされたランタイムが PORT、HOST、シークレットを直接注入し、本番コマンドは素のコマンド(例:bun run index.ts)です。kazzle CLI はデプロイされたイメージにインストールされていないため、kazzle run を呼び出す本番コマンドは kazzle: command not found でクラッシュします。
kazzle run が注入するもの
kazzle.config.tsのコンポーネントのenvエントリからのシークレットPORTとHOSTKAZZLE_APP_COMPONENT_SERVER_URLのような兄弟コンポーネント URL- アプリ ID やコンポーネント名などの Kazzle ランタイムアイデンティティ
例
dev は kazzle run を通じて実行されるため、Kazzle はプレビューポートとランタイム環境を注入できます。start は素のコマンドです — 本番環境は PORT/HOST/シークレットを自身で注入します。
package.json にシークレットコレクション名を入れないでください。kazzle.config.ts に入れてください。
チェックアウトをアプリにリンクする
kazzle run は、このディレクトリがどのアプリに属しているかを知る必要があります。解決順序:
- コマンドラインの
--app=<appId> KAZZLE_APP_ID環境変数(Kazzle が監視対象コンポーネントを開始するときに自動的に設定)- 現在のディレクトリから上へ向かって検索される
.kazzle/link.json
kazzle run は以下で終了します:
app { create: {} } は <checkout>/.kazzle/link.json を自動的に書き込みます — Vercel の .vercel/project.json のように。ファイルはクローンごとで gitignore されます。既存アプリの新しい git clone の後、以下を実行してください:
app { link: { appId } } で失われたリンクを修復できます。