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 { action: "create" }は<checkout>/.kazzle/link.jsonを自動的に書き込みます — Vercelの.vercel/project.jsonのように。ファイルはクローンごとであり、gitignoreされています。既存のアプリの新しいgit cloneの後、以下を実行してください:
app { action: "link", appId }で失われたリンクを修復できます。