Orbit

Orbit でサポートされているフレームワークとランタイム

Orbit builds any project that installs with npm, yarn or pnpm and produces a folder of files or a Node.js server, and it detects the framework and package manager for you so most projects deploy…

Orbit は npm、yarn、pnpm でインストールでき、ファイルのフォルダまたは Node.js サーバーを生成するプロジェクトをビルドします。フレームワークとパッケージ マネージャーを自動検出するため、ほとんどのプロジェクトはビルド設定なしでデプロイできます。このガイドでは、検出される内容、一般的なフレームワークに必要な設定、サーバー モードをオンにする必要があるタイミング、Node.js バージョンの選択方法について説明します。

Orbit が自動的に検出するもの

ビルドが実行されると、Orbit が検出した内容を記録して表示します:

  • フレームワーク: デプロイの詳細ページに表示され、プロジェクト概要のデプロイ カードにバッジとして表示されます。
  • パッケージ マネージャー: ロックファイルから選択されます: package-lock.json は npm、yarn.lock は yarn、pnpm-lock.yaml は pnpm です。

設定のビルド設定はすべてオプションです。フィールドを空白のままにすると、プレースホルダーが代わりに使用されるものを示します: インストール コマンドnpm ci (auto-detected) を表示し、ビルド コマンドnpm run build (auto-detected) を表示し、出力ディレクトリdist (auto-detected) を表示します。

Orbit プロジェクト設定のビルド設定

ロックファイルは 1 つだけコミットしてください。package-lock.jsonyarn.lock の両方がリポジトリに含まれている場合、Orbit が選択するパッケージ マネージャーはローカルで使用しているものと異なる可能性があり、目立たない理由でマシンとは異なるインストールが行われます。使用していない方を削除してください。

フレームワーク別の設定

以下は各フレームワークに必要な値です。Orbit がフレームワーク用のスターター テンプレートを提供する場合、テンプレートはこれらの設定をそのまま使用します。

フレームワークビルド コマンド出力ディレクトリサーバー モード
Next.js、静的エクスポートnpm run buildoutオフ
Next.js、SSR または ISRnpm run build.nextオン
Astro、静的astro builddistオフ
Astro、サーバー またはハイブリッドastro builddistオン
Vite (React、Vue、Svelte)npm run builddistオフ
SvelteKitnpm run buildbuildアダプターに依存
Nuxt 3npm run build.outputオン
Remixnpm run buildbuildオン
Express または普通の Node APInpm run builddistオン
Create React Appnpm run buildbuildオフ
普通の HTML または静的ジェネレーター空白のままにするか、ジェネレーターのコマンド. またはそれが書き込むフォルダオフ

Vite は dist に常に書き込みます。build.outDirvite.config.ts に設定している場合を除きます。Astro の出力フォルダはすべてのモードで dist です。モード間で変わるのはサーバー モードが必要かどうかで、ファイルが着地する場所ではありません。

サーバー モード

サーバー モード設定ランタイムの下にあるトグルです。オンにすると、Orbit は各デプロイ後、静的ファイルのフォルダを提供する代わりに、npm start を実行してビルド マシンを有効にしておきます。

SSR を使用した Next.js、Remix、Nuxt、Express API、その他の静的エクスポートではないすべてのものに対してオンにします。本当に静的なビルドの場合はオフのままにします。

次のデプロイから適用されます。現在ライブになっているデプロイには適用されません。

サーバー モードが欠落している典型的な症状は、ホームページが完璧に読み込まれるが、すべての動的ルートが 404 を返すサイトです。ビルドは成功し、ファイルは公開されていますが、ルートに応答するサーバーが実行されていません。これが表示されている場合は、サーバー モードをオンにして、他の操作を行う前にデプロイし直してください。

Node.js バージョン

設定ビルド設定の下にある Node.js バージョンを設定します。メジャー バージョン番号のみを入力してください: 1820 または 22。プラットフォームのデフォルトを使用するには空白のままにします。

バージョンはビルドと、サーバー モードがオンの場合はランタイムの両方に適用されます。

デフォルトに依存するのではなく、バージョンを明示的に固定してください。より新しい Node が必要な依存関係は、明らかにそれを述べていないエラーでインストールに失敗します。バージョン固定により、「昨日は動作していた」ビルド エラーのクラス全体が削除されます。

モノリポ

ルート ディレクトリをアプリが含まれているサブディレクトリに設定します。例えば apps/web です。Orbit はそのディレクトリに変更してからインストール コマンドとビルド コマンドを実行します。

また、望ましいことですが予期しないかもしれないことをします。そのパスの外側のファイルのみを変更するプッシュは自動的にスキップされます。したがって、4 つの Orbit プロジェクトを持つモノリポは、コミットが実際に触れたアプリのみを再構築します。

各環境は、設定ステージング: ビルド オーバーライドの下でルート ディレクトリを個別にオーバーライドできます。これは、ステージングが別のワークスペースをビルドする場合に便利です。

カスタム ビルド設定

設定ビルド設定で何かをオーバーライドします:

フィールド注記
インストール コマンドnpm ciまたは yarn install --frozen-lockfilepnpm install --frozen-lockfile
ビルド コマンドnpm run build:prod記載の通りに正確に実行
出力ディレクトリdist/clientビルド後に公開されるフォルダ
ルート ディレクトリapps/frontendモノリポ サブディレクトリ
Node.js バージョン20メジャー バージョンのみ

空白は自動検出を意味します。ビルド設定カードの 保存をクリックして適用します。

ステージングは ステージング: ビルド オーバーライドセクションで、これらのいずれかを個別にオーバーライドできます。そこで空白のままのフィールドはプロジェクト レベルの値を継承するため、ステージングのビルド コマンドのみを変更して、他はすべてそのままにしておくことができます。

ビルド キャッシュ

Orbit は Liftoff プランと Apex プランでビルド間で node_modules をキャッシュします。キャッシュが使用されると、デプロイは キャッシュ ヒットバッジを表示し、インストール フェーズははるかに短くなります。それなしでのビルドは コールド ビルドを表示します。

完全な再インストールを強制するには、設定を開き、ビルド キャッシュをクリアを選択して確認します。各環境の次のデプロイメントは、完全な再インストールを最初から実行します。これは元に戻すことはできず、その後のビルドは遅くなります。

ビルド マシンのリソース

ビルド マシンのサイズはプランに依存します。これは大規模なビルドに関係します:

プランvCPURAMディスク時間制限
Launch11 GB4 GB30 分
Liftoff22 GB8 GB30 分
Apex44 GB16 GB30 分

メモリ不足またはディスクがいっぱいになるビルドは、デプロイ ページにその失敗カテゴリーが名前付きで失敗します。NODE_OPTIONS=--max-old-space-size を上げることは、マシンの実際の RAM までしか役立ちません。

テンプレートから開始

リポジトリを持つ前に、動作するデプロイが必要な場合は、スターター テンプレートを使用します。新しいプロジェクトGit リポジトリをインポートからテンプレートから開始に切り替えて、いずれかを選択します。Next.js と shadcn/ui、Astro マーケティング サイト、Remix Indie Stack、SvelteKit スターター、最小 Nuxt 3 アプリ、または Express REST API です。Orbit はテンプレートをコピーし、適切なビルド設定を適用して、デプロイします。

関連資料

それでもお困りですか?

こちらまでメールでお問い合わせください support@kapsulehost.com またはKPanelでチャットを開いてください。

KPanel を開く
Orbit でサポートされているフレームワークとランタイム