メインコンテンツまでスキップ
非公開のページ
このページは非公開です。 検索対象外となり、このページのリンクに直接アクセスできるユーザーのみに公開されます。
Last updated on February 4, 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

まとめ

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

GitHub Actionsを導入することで、デプロイが高速で一貫性があり、手を離れた状態になります。

これで完了です。楽しいコーディングを!

ヒント

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