ダッシュボードの または ⌘ + K
でデプロイを開始します。
エールが提供する各テンプレートには、デフォルトで異なるモジュールやライブラリが含まれています。 Windowsや Chromeライブラリなど、デフォルトに含まれないものを使用する場合は、Dockerfileを作成してデプロイしてください。
デプロイ方式の選択
GitHubリポジトリからデプロイ
GitHubリポジトリからデプロイ
Git URLからデプロイ
Git URLからデプロイ
デプロイキーの登録

Gitリポジトリをデプロイ画面でGit URL タブを選択し、SSH形式のGit URLを入力すると、自動生成されたデプロイキー(Deploy Key)が表示されます。
エールでは、GitHubをはじめ、GitLab、Bitbucketなどのプライベートリポジトリのコードもデプロイできるよう、SSH認証をサポートしています。各プラットフォームでのデプロイキーの登録方法は以下をご参照ください。
GitHub
GitHub

デプロイするリポジトリのSettings > Deploy keysページ右上のAdd deploy key
をクリックし、エールで確認したデプロイキーの値を入力してキーを追加します
GitLab
GitLab

デプロイするリポジトリのSettings > Repository画面から、Deploy keysセクションのExpand
をクリックし、Add new key
をクリックします。表示されたフィールドにエールで確認したデプロイキーの値を入力してキーを追加します。
Bitbucket
Bitbucket

デプロイするリポジトリのRepository settings > Access keysページでAdd key
をクリックし、エールで確認したデプロイキーの値を入力してキーを追加します。
言語/フレームワークの選択

デプロイするリポジトリに適したプリセットを選択してください。
ReactやVueなどのスタティックサイトの場合は、Web Applicationを選択してください。
テンプレートを選択してデプロイ
テンプレートを選択してデプロイ

開発するサービスに適したテンプレートを選択し、連携するGitHubリポジトリを選択してください。
ReactやVueなどのスタティックサイトの場合は、Web Applicationを選択してください。
設定とデプロイ
デプロイするリポジトリとプリセットまたはテンプレートを選択した後、以下の項目を設定してデプロイしてください。
ブランチとサブディレクトリ
ブランチとサブディレクトリ

リポジトリを選択すると、ブランチとサブディレクトリを設定するフィールドが表示されます。1つのリポジトリで複数のサービスを別々のフォルダで管理している場合など、ルートディレクトリではなく、サブフォルダにデプロイするサービスが存在する場合は、サブディレクトリフィールドにそのパスを入力してください。
サブディレクトリを設定しない場合、ルートディレクトリからデプロイが行われます。
詳細については、サブディレクトリデプロイページをご参照ください。
バージョン
バージョン

プリセットのバージョンをデプロイするリポジトリに合わせて選択してください。
プロジェクト設定ファイル(build.gradle、requirements.txt、package.jsonなど)に記載されているバージョンと、デプロイ設定時に選択したバージョンが一致しない場合、ビルドまたはランタイムエラーが発生する可能性があります。
環境変数
環境変数

環境変数は以下の方法を組み合わせて追加できます:
- ENVファイルのドラッグ&ドロップ
- +アイコンをクリックして新規変数を直接入力
- 鍵アイコンから保存済みのシークレットを選択
環境変数の設定とシークレット管理の詳細については、環境変数ページをご参照ください。
ポート番号
ポート番号
ポート番号はソースコードまたは環境変数の設定と一致する必要があり、正確でないポート番号を入力するか空欄にした場合、サービスが正常に動作しない可能性があります。
ポート番号にはデフォルト値が適用されません。ポート設定の詳細については、ポート設定ページをご参照ください。
Install、Build、Start command
Install、Build、Start command

サービスの実行に使用するコマンドを設定します。各フィールドにはデフォルトコマンドが表示されており、プロジェクトの設定に応じて変更できます。
- Install Command: 依存パッケージのインストールコマンド (例:
npm install
,pip install -r requirements.txt
) - Build Command: アプリケーションのビルドコマンド (例:
npm run build
,gradle build
) - Start Command: サービス実行コマンド (例:
npm start
,python app.py
)
フィールド値を入力しない場合は、プレースホルダーに表示されているデフォルト値が適用されます。
詳細オプション
詳細オプション

追加の設定値を入力できるフィールドが表示されます。
表示されるフィールドはテンプレート/プリセットによって異なります。主な言語別の設定項目については、以下のカードをご参照ください。
リソース設定とデプロイ
リソース設定とデプロイ

- リソースタイプ:オンデマンドとスポットリソースから選択
- CPU:サービスで利用可能なvCPUの上限を設定。最小構成時は0.1 vCPUを割り当て
- メモリ:サービスで利用可能なメモリの上限を設定
- ディスク:データベースが使用するディスク容量(データベースデプロイ時に表示)
- レプリカ:設定した数に応じサービスを水平スケーリングし、負荷分散と可用性確保
-
デプロイ:
デプロイ
をクリック
リソース制限によりデプロイできない場合は、スペースとリソースの管理ページを参照してスペースにリソースを追加してください。
表示されるフィールドはテンプレート/プリセットによって異なります。主な言語別の設定項目については、以下のカードをご参照ください。
ログとターミナル

サービスカードまたはサービスページのアイコンをクリックすると、デプロイ/実行ログの確認やターミナルへのアクセスできます。
メトリクス

サービスページのメトリクスタブでサービスのメトリクスを確認できます。
再デプロイ(更新)

コードの変更やリソース設定の更新がある場合は、サービスページの設定タブ下部にあるデプロイ
ボタンをクリックして、変更を反映した新しいデプロイを実行できます。
デプロイ自動化のためのGitHub Actions適用については、GitHub Actionsページをご参照ください。
ロールバック(復元)

サービスページのデプロイ履歴タブから、以前のバージョンへロールバックできます。
ロールバックする前に、対象バージョンのコミットメッセージを確認してください。
トラブルシューティング
サブディレクトリが適用されない (Error: Project files not found)
サブディレクトリが適用されない (Error: Project files not found)

デプロイ時ルートディレクトリからビルドが行われます。リポジトリのルートディレクトリではなく、サブディレクトリに実行するソースがある場合は、別途サブディレクトリを指定する必要があります。
バージョンの不一致
バージョンの不一致

プロジェクト設定ファイル(build.gradle、requirements.txt、package.jsonなど)に記載されているバージョンと、デプロイ設定時に選択したバージョンが一致しない場合、ビルドまたはランタイムエラーが発生する可能性があります。 プロジェクトの言語/プラットフォームのバージョンに合わせて、デプロイ設定のバージョンを適切に設定してから再デプロイしてください。
ポート番号の問題
ポート番号の問題
- 特定のポートでサービスを起動するプロジェクトでは、デプロイ設定のポート番号が未入力または誤って設定されている場合、正常に実行されない可能性があります。なお、特定のポートにバインドする必要がないプロジェクトの場合は、ポート番号の欄は空白のままにしてください。
selenium、puppeteer などのChrome ライブラリの使用
selenium、puppeteer などのChrome ライブラリの使用
- エールが提供する各テンプレートには、デフォルトで異なるモジュールやライブラリが含まれています。 Windowsや Chromeライブラリなど、デフォルトに含まれないものを使用する場合は、Dockerfileを作成してデプロイしてください。
該当ライブラリをサポートするテンプレートを追加するプラグインをインストールするか、プラグインを開発して直接追加することができます。
CORS問題
CORS問題

CORSの問題は各フレームワークによって解決方法が異なり、各フレームワークが提供するライブラリやモジュールを使用して対応できます。Next.jsのようなリバースプロキシを標準搭載しているフレームワークでは、内蔵のRewrites機能で対応可能です。ReactやVueなどのフレームワークの場合は、エールのRewrites設定でリバースプロキシを構成して解決できます。
エラーの実行ログが表示されない場合
エラーの実行ログが表示されない場合
- サービスカードの[play]ボタンで再起動後、実行ログを確認してください。ログが表示されない場合は、サービスページのイベントタブで発生したイベントを確認し、問題を解決してください。
リソース不足(out of memory)
リソース不足(out of memory)

- JVMベースのアプリケーションをデプロイする場合、JVMに割り当てられたメモリが使用可能なリソースを超えると、OOM(Out of Memory)エラーが発生する可能性があります。Node.jsもまた、ヒープメモリ不足によって同様の問題が発生することがあります。言語またはフレームワークで適切にメモリを割り当てるか、リソースを追加で割り当ててデプロイする必要があります。
タイムゾーン
タイムゾーン

- 一般的なフレームワークでは、環境変数 TZ を使用してタイムゾーンを設定できます。設定可能な国・地域の一覧はこちらのリストをご確認ください。フレームワークによっては設定方法が異なる場合があるため、その場合は各フレームワークの公式ドキュメントをご参照ください。