初めに
先日 以下のようにfirebaseにgithub actinosからビルドしてAndroid/Webをデプロイするワークフローを作成しました。今回は DeployGateにデプロイするワークフローを作成していきます
以下が今回のRepositoryです
開発環境
- Unity 6000.43.f1
DeployGateの設定
アカウントを作成後 アカウント設定からAPIキーを発行します

このAPIキーとユーザー名を以下のように GitHubのRepository Secretに登録します。

ビルドワークフロー
前回の記事でも書いたので、細かいところは省略します。
GitHub ActionsでGameCIを使ってAndroidのビルドを行うワークフローは以下になります
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: Free disk space run: | sudo swapoff -a && sudo rm -f /swapfile sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc /usr/local/.ghcup sudo apt-get remove -y google-cloud-cli || sudo apt-get remove -y google-cloud-sdk sudo apt-get autoremove -y && sudo apt-get clean docker system prune -af df -h - name: Clean up Docker space run: docker system prune --volumes -a -f - 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
デプロイワークフロー
GitHub Actionsからデプロイゲートへのアップロードの処理は以下になります
- 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
アップロードが完了すると以下のようにダッシュボードのタイムラインに反映されます
