サービスのデプロイ時に自動生成されるGitHub Actionsワークフローを適用して、簡単にデプロイを自動化できます。

シークレットの設定
エールとGitHubの通信のためのシークレット設定が必要です。
GitHub Personal access tokenの発行
GitHub Personal access tokenの発行

GitHub Settings > Developer settings > Personal access tokens(classic) に移動し、Generate new token(classic)をクリックします。

次の画面でrepo、admin:public_key権限を付与してトークンを生成します。

生成されたトークン値を保管します。
エール API Keyの発行
エール API Keyの発行

スペース設定の認証ページで新しいAPI キーを生成でキーを生成し、保管します。
上記のシークレットをGitHubリポジトリのActions Secretとして設定
上記のシークレットをGitHubリポジトリのActions Secretとして設定

GitHubリポジトリの Settings / Secrets and variables / Actions で New repository secretをクリックします。

Name値に注意しながら2つのRepository secretを作成します。
| Name | Secret |
|---|---|
| ALE_TOKEN | エール API key |
| GHP_TOKEN | GitHub Personal Access Token |
GitHub Actionsの適用
Workflow内容確認

Github Actionsを適用したいサービスページのCLIタブでGithub Actionsセクションのコードをコピーします。
Workflow作成
プロジェクトのルートディレクトリに.github/workflowsディレクトリを作成し、エールからコピーしたコードを内容とするyamlファイルを作成します。
.github/workflowsは規定のパスのため変更できませんが、ファイル名は自由に設定できます。アクション別の入力値
GitHub ActionsはエールがリポジトリをプルできるようにするGitHubリポジトリのDeploy Keyを設定するconnectアクションと、デプロイ設定をエールに送信してデプロイを要求するdeployアクションで動作します。
connectアクションの入力値
connectアクションの入力値
| 入力値 | 必須 / デフォルト値 | |
|---|---|---|
| token | クラウドタイプAPI Key | 必須 |
| ghtoken | GitHub Personal Token | 必須 |
| endpoint | エールAPI Endpoint | 必須 (https://app.[ドメイン]/api) |
| scope | 接続するスペース名 | デフォルト:API Key使用者スペース名 |
| repo | GitHubリポジトリ(形式 user/repo) | デフォルト:現在Action実行リポジトリ |
| readOnly | ‘true’設定で読み取り専用デプロイキー生成 | デフォルト:false |
deployアクションの入力値
deployアクションの入力値
| 入力値 | 必須 / デフォルト値 | |
|---|---|---|
| token | クラウドタイプAPI Key | 必須 |
| endpoint | エールAPI Endpoint | 必須 (https://app.[ドメイン]/api) |
| project | デプロイするプロジェクト名 | 必須 (スペース/プロジェクト) |
| stage | デプロイする環境名 | デフォルト:プロジェクト内デフォルト環境 |
| allStages | ’true’に設定するとすべての環境にデプロイ | デフォルト:false |
| repo | GitHubリポジトリ(形式 user/repo) | 現在のアクションが実行中のリポジトリ |
| file | デプロイ設定ファイルのリポジトリ位置 | デフォルト:.ale/app.yaml |
| json | デプロイ設定JSONテキスト | - |
| yaml | デプロイ設定yamlテキスト | - |
活用
自動生成されたworkflowファイルをサービス設定に合わせて修正して活用できます。
サブディレクトリの設定
サブディレクトリの設定
pathにデプロイするディレクトリを設定できます。
リソースの変更
リソースの変更
yamlファイルにリソースに関する内容がない場合、ダッシュボードで設定したリソースを反映します。yamlファイルでリソースを管理したい場合、resourcesにspot、cpu、memory、disk、replicasを設定して適用できます。
環境変数の設定
環境変数の設定
ダッシュボードで環境変数を設定してデプロイした場合、CLIタブのworkflowファイル内容に自動的に反映されます。yamlファイルに手動で適用したい場合、options.envにnameとvalueを配列形式で設定して適用できます。
サービス対象ポート
サービス対象ポート
options.portsでカンマ(,)でポートを区切って最大3つのポートまで設定可能です。