初めに
先日、GitHub Actionsを使ってUnityプロジェクトをビルドし、Firebase (Android/WebGL) へ自動デプロイするワークフローを紹介しました。
ayousanz.hatenadiary.jp ayousanz.hatenadiary.jp
今回はその続きとして、ビルドしたAndroidアプリ (.apk) を DeployGate に自動でアップロードするワークフローについて解説します。
以前は curl コマンドを使ってアップロードしていましたが、最近 DeployGate公式のGitHub Action がリリースされたため、今回はそちらを利用してワークフローをよりシンプルに改善してみました。
(公式のXよりリリースについて教えていただきました)
こちら拝見しました、DeployGateを活用いただきありがとうございます・ また、直近で以下をリリースしましたので、よろしければ活用してみてください! https://t.co/uAPiBpZroj
— DeployGate (@DeployGate_ja) 2025年4月4日
以下が公式のActionsです。
今回作成したリポジトリはこちらです。
開発環境
DeployGateの設定
まず、DeployGateのアカウントが必要です。アカウント作成後、「アカウント設定」メニューからAPIキーを発行します。

次に、発行したAPIキーとDeployGateのユーザー名を、GitHubリポジトリの Secrets に登録します。
DEPLOYGATE_API_KEY: 発行したAPIキーDEPLOYGATE_USER_NAME: あなたのDeployGateユーザー名

ビルドワークフロー
UnityプロジェクトをGameCIを使ってGitHub Actions上でビルドする部分は、以前の記事と同様です。Android向けの .apk ファイルを生成します。
詳細な設定(Unityライセンスの設定など)は過去記事をご参照ください。
name: Unity Build and Deploy on: push: branches: [ main ] pull_request: branches: [ main ] workflow_dispatch: env: UNITY_VERSION: '6000.0.43f1' FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }} jobs: # Android向けビルドとデプロイジョブ build-android: name: Build and Deploy Android runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4.2.2 - name: Cache Unity Library - Android uses: actions/cache@v4.2.0 with: path: Library key: Library-Android-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }} restore-keys: | Library-Android- - name: Build Android App uses: game-ci/unity-builder@v4.3.0 env: UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }} UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }} with: targetPlatform: Android buildsPath: build buildName: MyAndroidApp androidExportType: androidPackage unityVersion: ${{ env.UNITY_VERSION }} - name: Upload Android Build Artifact uses: actions/upload-artifact@v4.6.0 with: name: Build-Android path: build/Android/MyAndroidApp.apk
DeployGateへのアップロード処理
ビルドが完了した .apk ファイルをDeployGateにアップロードします。
以前の方法 (curl を使用) 以前は、以下のように curl コマンドを使ってDeployGate APIを直接叩いていました。
- name: Upload to DeployGate env: DEPLOYGATE_API_KEY: ${{ secrets.DEPLOYGATE_API_KEY }} DEPLOYGATE_USER_NAME: ${{ secrets.DEPLOYGATE_USER_NAME }} run: | APK_PATH=$(find build -name "*.apk" | head -n 1) echo "Uploading $APK_PATH to DeployGate" curl -F "file=@$APK_PATH" \ -F "token=$DEPLOYGATE_API_KEY" \ -F "message=New build from GitHub Actions" \ https://deploygate.com/api/users/$DEPLOYGATE_USER_NAME/apps
DeployGate公式Actionを使用する方法
今回、新しくリリースされた DeployGate公式のDeployGate Upload GitHub Action を使って、この部分を書き換えます。
このActionを使うことで、curl スクリプトが不要になり、ワークフローのYAMLがよりシンプルで見通しが良くなります。
- name: Upload to DeployGate using Action uses: DeployGate/deploygate-upload-github-action@v1.0.0 with: api_token: ${{ secrets.DEPLOYGATE_API_KEY }} owner_name: ${{ secrets.DEPLOYGATE_USER_NAME }} file_path: build/Android/MyAndroidApp.apk message: "New build from GitHub Actions (using action)"
アップロードされると以下のようになります

まとめ
DeployGate公式のGitHub Action DeployGate/deploygate-upload-github-action を利用することで、Unityプロジェクトのビルド成果物をDeployGateへアップロードする処理を、より簡単かつ宣言的に記述できるようになりました。
curl を使ったスクリプト管理の手間が省け、ワークフローの見通しも良くなるため、これからGitHub ActionsでDeployGate連携を行う場合は、公式Actionの利用をおすすめします。