注釈:本資料はAI技術を用いて翻訳されています。
GitHub ActionsでExtendアプリのデプロイを自動化する
AccelByteのプラットフォームでExtendアプリを構築している場合、頻繁に更新をプッシュすることになります。手動でイメージをアップロードしてデプロイをトリガーすることは、面倒になる可能性があります。エラーが発生しやすいことは言うまでもありません。
幸いにも、GitHub Actionsでこのプロセス全体を自動化できます。この記事では、リリースを公開したときに自動的にExtendアプリをアップロードおよびデプロイするGitHub Actionsワークフローをセットアップする方法を説明します。
構築する内容
extend-helper-cliを利用したCIワークフロー:
- GitHubリリースを公開したときに、コンテナイメージをAccelByteにアップロード
- Extendアプリを自動的にデプロイ
早速始めましょう。
ステップ1: Extendアプリリポジトリのクローン
このウォークスルーでは、Extend Service Extension(Go)テンプレートを使用します。
git clone https://github.com/AccelByte/extend-service-extension-go
cd extend-service-extension-go
もちろん、言語やユースケースに応じて、公式のExtendアプリテンプレートのいずれかを使用できます。
ステップ2: GitHub Actionsワークフローの作成
プロジェクトで、以下のファイルを作成します。
# .github/workflows/deploy.yaml
name: Upload and Deploy
on:
release:
types: [published]
jobs:
upload:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Extend Helper CLI
uses: AccelByte/gha-install-extend-helper-cli@v1
- name: Upload Image
env:
AB_BASE_URL: ${{ secrets.BASE_URL }}
AB_CLIENT_ID: ${{ secrets.CLIENT_ID }}
AB_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
run: |
extend-helper-cli image-upload \
--namespace ${{ secrets.NAMESPACE }} \
--app ${{ secrets.APP }} \
--image-tag ${{ github.event.release.tag_name }} \
--login
deploy:
runs-on: ubuntu-latest
needs: upload
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Extend Helper CLI
uses: AccelByte/gha-install-extend-helper-cli@v1
- name: Deploy App
env:
AB_BASE_URL: ${{ secrets.BASE_URL }}
AB_CLIENT_ID: ${{ secrets.CLIENT_ID }}
AB_CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
run: |
extend-helper-cli deploy-app \
--namespace ${{ secrets.NAMESPACE }} \
--app ${{ secrets.APP }} \
--image-tag ${{ github.event.release.tag_name }}
ステップ3: シークレットの保存


リポジトリのSettings > Secrets and variables > Actionsに移動し、以下を追加します。
| シークレット名 | 目的 |
|---|---|
BASE_URL | AccelByte環境URL |
CLIENT_ID | OAuth2クライアントID |
CLIENT_SECRET | OAuth2クライアントシークレット |
NAMESPACE | アプリのネームスペース |
APP | アプリ名 |
これらのシークレットは、アップロードとデプロイ中の認証とターゲティングに必要です。
通常extend-helper-cliを手動で実行する際に提供するものと同じCLIENT_IDとCLIENT_SECRETを使用してください。詳細については、セットアップガイドを参照してください。
ステップ4: リリースの作成
アプリをデプロイするには:
-
リポジトリの
Releasesページに移動します。
-
Create a new releaseまたはDraft a new releaseをクリックします。 -
新しいタグ(例:
v1.0.0)を選択または作成し、オプションでリリースノートを記入します。 -
Publish releaseをクリックします。
GitHub Actionsワークフローが自動的にトリガーされ、コンテナイメージをアップロードして指定されたネームスペースにデプロイします。
進行状況はActionsタブで監視できます。プロセスの各ステップのログが利用可能です。


まとめ
- extend-service-extension-goをクローン
deploy.yamlGitHub Actionsワークフローを追加- シークレットを保存
- リリースを公開してデプロイをトリガー
GitHub Actionsを導入することで、デプロイが高速で一貫性があり、手を離れた状態になります。
これで完了です。楽しいコーディングを!
オーバーライドやイベントハンドラーなど、別のタイプのExtendアプリで作業している場合は、C#、Go、Java、Pythonで利用可能な他のテンプレートを確認してください。