Skip to main content
ダッシュボードの または ⌘ + K でデプロイを開始します。
エールが提供する各テンプレートには、デフォルトで異なるモジュールやライブラリが含まれています。 Windowsや Chromeライブラリなど、デフォルトに含まれないものを使用する場合は、Dockerfileを作成してデプロイしてください。

デプロイ方式の選択

デプロイするリポジトリの選択

デプロイモーダルでGitリポジトリをデプロイをクリックし、デプロイするリポジトリを選択してください。

言語/フレームワークの選択

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

デプロイキーの登録

Gitリポジトリをデプロイ画面でGit URL タブを選択し、SSH形式のGit URLを入力すると、自動生成されたデプロイキー(Deploy Key)が表示されます。
エールでは、GitHubをはじめ、GitLab、Bitbucketなどのプライベートリポジトリのコードもデプロイできるよう、SSH認証をサポートしています。各プラットフォームでのデプロイキーの登録方法は以下をご参照ください。
デプロイするリポジトリのSettings > Deploy keysページ右上のAdd deploy keyをクリックし、エールで確認したデプロイキーの値を入力してキーを追加します
デプロイするリポジトリのSettings > Repository画面から、Deploy keysセクションのExpandをクリックし、Add new keyをクリックします。表示されたフィールドにエールで確認したデプロイキーの値を入力してキーを追加します。
デプロイするリポジトリのRepository settings > Access keysページでAdd keyをクリックし、エールで確認したデプロイキーの値を入力してキーを追加します。

言語/フレームワークの選択

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

設定とデプロイ

デプロイするリポジトリとプリセットまたはテンプレートを選択した後、以下の項目を設定してデプロイしてください。
リポジトリを選択すると、ブランチとサブディレクトリを設定するフィールドが表示されます。1つのリポジトリで複数のサービスを別々のフォルダで管理している場合など、ルートディレクトリではなく、サブフォルダにデプロイするサービスが存在する場合は、サブディレクトリフィールドにそのパスを入力してください。
サブディレクトリを設定しない場合、ルートディレクトリからデプロイが行われます。
詳細については、サブディレクトリデプロイページをご参照ください。
プリセットのバージョンをデプロイするリポジトリに合わせて選択してください。
プロジェクト設定ファイル(build.gradle、requirements.txt、package.jsonなど)に記載されているバージョンと、デプロイ設定時に選択したバージョンが一致しない場合、ビルドまたはランタイムエラーが発生する可能性があります。
環境変数は以下の方法を組み合わせて追加できます:
  • ENVファイルのドラッグ&ドロップ
  • +アイコンをクリックして新規変数を直接入力
  • 鍵アイコンから保存済みのシークレットを選択
環境変数の設定とシークレット管理の詳細については、環境変数ページをご参照ください。
ポート番号はソースコードまたは環境変数の設定と一致する必要があり、正確でないポート番号を入力するか空欄にした場合、サービスが正常に動作しない可能性があります。
ポート番号にはデフォルト値が適用されません。ポート設定の詳細については、ポート設定ページをご参照ください。
サービスの実行に使用するコマンドを設定します。各フィールドにはデフォルトコマンドが表示されており、プロジェクトの設定に応じて変更できます。
  • 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ページをご参照ください。

ロールバック(復元)

サービスページのデプロイ履歴タブから、以前のバージョンへロールバックできます。
ロールバックする前に、対象バージョンのコミットメッセージを確認してください。

トラブルシューティング

デプロイ時ルートディレクトリからビルドが行われます。リポジトリのルートディレクトリではなく、サブディレクトリに実行するソースがある場合は、別途サブディレクトリを指定する必要があります。
プロジェクト設定ファイル(build.gradle、requirements.txt、package.jsonなど)に記載されているバージョンと、デプロイ設定時に選択したバージョンが一致しない場合、ビルドまたはランタイムエラーが発生する可能性があります。 プロジェクトの言語/プラットフォームのバージョンに合わせて、デプロイ設定のバージョンを適切に設定してから再デプロイしてください。
  • 特定のポートでサービスを起動するプロジェクトでは、デプロイ設定のポート番号が未入力または誤って設定されている場合、正常に実行されない可能性があります。なお、特定のポートにバインドする必要がないプロジェクトの場合は、ポート番号の欄は空白のままにしてください。
  • エールが提供する各テンプレートには、デフォルトで異なるモジュールやライブラリが含まれています。 Windowsや Chromeライブラリなど、デフォルトに含まれないものを使用する場合は、Dockerfileを作成してデプロイしてください。
該当ライブラリをサポートするテンプレートを追加するプラグインをインストールするか、プラグインを開発して直接追加することができます。
CORSの問題は各フレームワークによって解決方法が異なり、各フレームワークが提供するライブラリやモジュールを使用して対応できます。Next.jsのようなリバースプロキシを標準搭載しているフレームワークでは、内蔵のRewrites機能で対応可能です。ReactやVueなどのフレームワークの場合は、エールのRewrites設定でリバースプロキシを構成して解決できます。
  • サービスカードの[play]ボタンで再起動後、実行ログを確認してください。ログが表示されない場合は、サービスページのイベントタブで発生したイベントを確認し、問題を解決してください。
  • JVMベースのアプリケーションをデプロイする場合、JVMに割り当てられたメモリが使用可能なリソースを超えると、OOM(Out of Memory)エラーが発生する可能性があります。Node.jsもまた、ヒープメモリ不足によって同様の問題が発生することがあります。言語またはフレームワークで適切にメモリを割り当てるか、リソースを追加で割り当ててデプロイする必要があります。
  • 一般的なフレームワークでは、環境変数 TZ を使用してタイムゾーンを設定できます。設定可能な国・地域の一覧はこちらのリストをご確認ください。フレームワークによっては設定方法が異なる場合があるため、その場合は各フレームワークの公式ドキュメントをご参照ください。

参考

I