注釈:本資料は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タブで進行状況を確認できます。各ステップのログも確認できます。


TL;DR
- extend-service-extension-goをクローンする
deploy.yamlのGitHub Actionワークフローを追加する- シークレットを保存する
- リリースを公開してデプロイをトリガーする
GitHub Actionsを導入することで、デプロイが高速かつ一貫性のある、手間のかからないものになります。
これで準備は完了です。ぜひ開発をお楽しみください。
オーバーライドやイベントハンドラーなど、別の種類のExtendアプリに取り組んでいる場合は、C#、Go、Java、Pythonで利用可能な他のテンプレートを確認してください。