Crescendo Lab ドキュメント デプロイ
日本語
無料で始める

ソースコードからデプロイ

JavaScript プロジェクトを Dockerfile なしでそのままアップロードできます。Agent Lab がフレームワークを検出してビルドし、ウェブページまたはアプリにします。

最終更新

何が起きるか#

package.json が最上位にくるようにプロジェクトを zip にしてアップロードします。プラットフォームがプロジェクトを読み取り、ビルドプランを作ってビルドします。

  • ブラウザ向けのファイルだけを生成するプロジェクトはウェブページになり、CDN から配信されます。シングルページアプリのパス(/orders/42 など)はすべて index.html を返します。
  • サーバーを動かすプロジェクトはコンテナアプリになり、非 root ユーザーで 8080 番ポートで動くイメージにビルドされます。

Dockerfile を書く必要はありません。最上位に Dockerfile がある場合は検出の代わりにそれが使われます。無効にするにはビルド設定を参照してください。

zip に入れないもの

node_modules、.git、dist、.env。依存関係はプラットフォームがインストールし、含まれていてもスキップします。

対応フレームワーク#

ウェブページになるアプリになる
Vite(React、Vue、Svelte)、Create React App、Vue CLINext.js(output: "export" ならウェブページ)
Angular、静的 Astro、ビルドスクリプト付きの HTMLNuxt、SvelteKit、Remix、React Router 7、SSR の Astro
Express、Fastify、Koa、Hono、NestJS などの Node サーバー

npm、pnpm、Yarn、Bun はロックファイルか packageManager フィールドで判定します。Node.js は engines.node、.nvmrc、.node-version の順に読み、なければ最新 LTS(24)を使います。18、20、22、24 が使えます。

環境変数#

プランには、コードが読む変数(.env.example、process.env.*、import.meta.env.*)が並び、シークレットらしいものやビルド時に必要なもの(VITE_*、NEXT_PUBLIC_* など)に印が付きます。

  1. デプロイ前に入力します。アプリは 設定 › 実行設定(シークレットは シークレット)、ウェブページは 設定 › ビルド変数 です。ソースからビルドしたバージョンには、コードが読むのに未設定の変数が表示されます。
  2. 変数はビルドにも渡されます。ビルド時の変数はウェブページに埋め込まれるため、VITE_ や NEXT_PUBLIC_ の変数にシークレットを入れないでください。
  3. シークレットはインストールとビルドの手順にマウントで渡されます(プライベートレジストリのトークンなど)。イメージには書き込まれません。

ビルド設定#

検出が外れたときは 設定 › ビルド設定 で上書きします。空欄は検出されます。

設定例変数
Node.js バージョン22ALPACK_NODE_VERSION
インストールコマンドnpm ciALPACK_INSTALL_CMD
ビルドコマンドnpm run build:prodALPACK_BUILD_CMD
起動コマンドnode dist/server.jsALPACK_START_CMD
出力ディレクトリdist/browserALPACK_OUTPUT_DIR
リポジトリの Dockerfile を使わないオンALPACK_IGNORE_DOCKERFILE
アプリのパスapps/web—

ブランチの実行設定に同じ名前の変数があれば、そちらが優先されます。ALPACK_* はビルドだけに使われ、実行中のアプリには渡されません。

ウェブページと検出されたプロジェクトに起動コマンドを設定すると、アプリになります。

モノレポ#

複数のプロジェクトを含むリポジトリは、リポジトリ全体をアップロードし、ビルド設定の アプリのパス にアプリのフォルダ(例: apps/web)を入力します。プラットフォームはそのフォルダで検出・ビルドするため、そのフォルダの package.json とロックファイルでビルド方法が決まります。リポジトリの他の場所にあるパッケージ(workspace:* の依存など)はまだ使えません。

ビルドが失敗したとき#

表示対処
このソースのビルド方法がわからないzip の最上位に package.json を置くか、起動コマンドを設定します。
ビルドが何も出力しなかった出力ディレクトリを、ビルドが実際にファイルを書く場所に設定します。
アプリへのアップロードがウェブページアプリはウェブページに戻せません。新しいアプリを作るか、起動コマンドを設定します。
ネイティブモジュールのコンパイル失敗ロックファイルをコミットしてください。ネイティブ依存を検出するとコンパイラが追加されます。

各手順はバージョンページのビルドログで確認できます。AI ツールでは、先にビルドプランを取得させてください。MCP ツールを参照。