メインコンテンツまでスキップ
非公開のページ
このページは非公開です。 検索対象外となり、このページのリンクに直接アクセスできるユーザーのみに公開されます。
Last updated on July 15, 2026

注釈:本資料は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 Tab

Secrets and Variables

リポジトリのSettings > Secrets and variables > Actionsに移動し、以下を追加します。

シークレット名目的
BASE_URLAccelByte環境のURL
CLIENT_IDOAuth2クライアントID
CLIENT_SECRETOAuth2クライアントシークレット
NAMESPACEアプリのネームスペース
APPアプリの名前

これらのシークレットは、アップロードおよびデプロイ時の認証とターゲット指定に必要です。

注記

extend-helper-cliを手動で実行する際に通常指定するのと同じCLIENT_IDCLIENT_SECRETを使用してください。 詳細はセットアップガイドを参照してください。

ステップ4: リリースの作成

アプリをデプロイするには、以下の手順に従います。

  1. リポジトリのReleasesページに移動します。

    Releases Tab

  2. Create a new releaseまたはDraft a new releaseをクリックします。

  3. 新しいタグ(例: v1.0.0)を選択または作成し、任意でリリースノートを入力します。

  4. Publish releaseをクリックします。

    Publish Release

GitHub Actionsワークフローが自動的にトリガーされ、コンテナイメージがアップロードされ、指定したネームスペースにデプロイされます。

Actionsタブで進行状況を確認できます。各ステップのログも確認できます。

Actions Tab

Workflow Logs

TL;DR

  • extend-service-extension-goをクローンする
  • deploy.yamlのGitHub Actionワークフローを追加する
  • シークレットを保存する
  • リリースを公開してデプロイをトリガーする

GitHub Actionsを導入することで、デプロイが高速かつ一貫性のある、手間のかからないものになります。

これで準備は完了です。ぜひ開発をお楽しみください。

ヒント

オーバーライドやイベントハンドラーなど、別の種類のExtendアプリに取り組んでいる場合は、C#、Go、Java、Pythonで利用可能な他のテンプレートを確認してください。