ダッシュボードの または ⌘ + K
でデプロイを開始します。
GitHubリポジトリからデプロイ
Git URLからデプロイ
Gitリポジトリをデプロイ画面でGit URL タブを選択し、SSH形式のGit URLを入力すると、自動生成されたデプロイキー(Deploy Key)が表示されます。
GitHub
デプロイするリポジトリのSettings > Deploy keysページ右上のAdd deploy key
をクリックし、エールで確認したデプロイキーの値を入力してキーを追加します
GitLab
デプロイするリポジトリのSettings > Repository画面から、Deploy keysセクションのExpand
をクリックし、Add new key
をクリックします。表示されたフィールドにエールで確認したデプロイキーの値を入力してキーを追加します。
Bitbucket
デプロイするリポジトリのRepository settings > Access keysページでAdd key
をクリックし、エールで確認したデプロイキーの値を入力してキーを追加します。
デプロイするリポジトリに適したプリセットを選択してください。
テンプレートを選択してデプロイ
開発するサービスに適したテンプレートを選択し、連携するGitHubリポジトリを選択してください。
デプロイするリポジトリとプリセットまたはテンプレートを選択した後、以下の項目を設定してデプロイしてください。
ブランチとサブディレクトリ
リポジトリを選択すると、ブランチとサブディレクトリを設定するフィールドが表示されます。1つのリポジトリで複数のサービスを別々のフォルダで管理している場合など、ルートディレクトリではなく、サブフォルダにデプロイするサービスが存在する場合は、サブディレクトリフィールドにそのパスを入力してください。
バージョン
プリセットのバージョンをデプロイするリポジトリに合わせて選択してください。
環境変数
環境変数は以下の方法を組み合わせて追加できます:
ポート番号
ポート番号はソースコードまたは環境変数の設定と一致する必要があり、正確でないポート番号を入力するか空欄にした場合、サービスが正常に動作しない可能性があります。
Install、Build、Start command
サービスの実行に使用するコマンドを設定します。各フィールドにはデフォルトコマンドが表示されており、プロジェクトの設定に応じて変更できます。
npm install
, pip install -r requirements.txt
)npm run build
, gradle build
)npm start
, python app.py
)詳細オプション
追加の設定値を入力できるフィールドが表示されます。
リソース設定とデプロイ
デプロイ
をクリック
サービスカードまたはサービスページのアイコンをクリックすると、デプロイ/実行ログの確認やターミナルへのアクセスできます。
サービスページのメトリクスタブでサービスのメトリクスを確認できます。
コードの変更やリソース設定の更新がある場合は、サービスページの設定タブ下部にあるデプロイ
ボタンをクリックして、変更を反映した新しいデプロイを実行できます。
サービスページのデプロイ履歴タブから、以前のバージョンへロールバックできます。
サブディレクトリが適用されない (Error: Project files not found)
デプロイ時ルートディレクトリからビルドが行われます。リポジトリのルートディレクトリではなく、サブディレクトリに実行するソースがある場合は、別途サブディレクトリを指定する必要があります。
バージョンの不一致
プロジェクト設定ファイル(build.gradle、requirements.txt、package.jsonなど)に記載されているバージョンと、デプロイ設定時に選択したバージョンが一致しない場合、ビルドまたはランタイムエラーが発生する可能性があります。 プロジェクトの言語/プラットフォームのバージョンに合わせて、デプロイ設定のバージョンを適切に設定してから再デプロイしてください。
ポート番号の問題
selenium、puppeteer などのChrome ライブラリの使用
CORS問題
CORSの問題は各フレームワークによって解決方法が異なり、各フレームワークが提供するライブラリやモジュールを使用して対応できます。Next.jsのようなリバースプロキシを標準搭載しているフレームワークでは、内蔵のRewrites機能で対応可能です。ReactやVueなどのフレームワークの場合は、エールのRewrites設定でリバースプロキシを構成して解決できます。
エラーの実行ログが表示されない場合
リソース不足(out of memory)
タイムゾーン