ANTIGRAVITY LABEN
記事一覧/アプリ開発
アプリ開発/2026-05-06中級

UnityプロジェクトのCI/CDをAntigravity×GitHub Actionsで自動化する実践ガイド

GameCIとGitHub ActionsをAntigravityで設定し、Unityプロジェクトのビルド・テスト・TestFlight自動アップロードまでを完全自動化する実践的なCI/CDパイプライン構築ガイドです。

Unity7CI/CD17GitHub Actions5GameCIAntigravity338自動化31FastlaneTestFlight2

Unityプロジェクトを個人で開発していると、ビルドと申請に費やす時間が地味に重くのしかかってきます。「iOSとAndroid両方のビルドを出すと半日が消える」「App Storeの申請作業がルーティンなのに毎回ミスする」——これは実際に多くの個人開発者が感じている問題です。

GameCIとGitHub Actionsを組み合わせると、コードをpushした瞬間からビルド・テスト・TestFlightへのアップロードまでが自動で走る環境が構築できます。そしてそのワークフローYAMLを書く作業こそ、Antigravityがもっとも得意とするところです。

GitHub Actions + GameCI が個人開発者に最適な理由

Unityのビルド自動化ツールはいくつか存在しますが、GitHub Actions + GameCI の組み合わせを個人開発者に勧める理由が明確にあります。

コスト面: GitHub ActionsはLinuxランナーが無料枠(月2,000分)で使えます。Unityのテスト実行や一般的なビルドは15〜30分程度なので、月に60〜100回の実行が無料枠内に収まります。iOSビルドが必要な場合はmacOSランナーが必要ですが、mainブランチへのマージ時だけに限定すれば現実的なコストになります。

設定のシンプルさ: GameCIはUnityビルド専用のDockerイメージを提供しており、Unityのインストールやライセンスのアクティベーションを自動化してくれます。自分でDockerfileを書く必要はありません。

Antigravityとの相性の良さ: YAMLの構文エラー、シークレット名の不一致、Unity固有の設定ミスをAntigravityが対話形式で指摘してくれます。エラーログを貼り付けるだけで解決策が返ってくるので、ドキュメントを往復する手間が大幅に減ります。

Unity Test Runnerでのテスト自動化については、Antigravity×GitHub ActionsのCI/CDパイプライン構築ガイドも参考になります。

最初の30分でできる基本ワークフロー

まずはUnityのPlayModeテストを自動実行するだけのシンプルなワークフローから始めます。Antigravityにプロジェクト構成を伝えて「GameCIを使ったUnity PlayModeテストのGitHub Actionsワークフローを生成してください」と依頼すると、以下に近いYAMLが出力されます。

# .github/workflows/unity-ci.yml
name: Unity CI
 
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]
 
jobs:
  test:
    name: Unity Test Runner
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          lfs: true
 
      - name: Cache Unity Library
        uses: actions/cache@v4
        with:
          path: Library
          key: Library-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }}
          restore-keys: |
            Library-
 
      - name: Run PlayMode Tests
        uses: game-ci/unity-test-runner@v4
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
          UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
          UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
        with:
          projectPath: .
          testMode: PlayMode
          artifactsPath: test-results
          githubToken: ${{ secrets.GITHUB_TOKEN }}
          checkName: Unity PlayMode Test Results
 
      - name: Upload Test Results
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: test-results-${{ github.run_number }}
          path: test-results

このYAMLで最初につまずくのがUNITY_LICENSEシークレットの取得です。「UNITY_LICENSEシークレットに設定する値の取得方法を教えてください」とAntigravityに聞くと、Unity Personalの場合はGameCI公式のアクティベーション手順(ローカルでライセンスファイルを生成してBase64エンコードする方法)を丁寧に案内してくれます。

Antigravityでワークフローを生成・デバッグするコツ

実際に使ってみて分かった効果的な使い方をまとめます。

エラーログをそのまま貼り付ける: GitHub Actionsが失敗した場合、エラーログをAntigravityに貼り付けてください。「YAML構文エラー」「シークレット名の不一致」「GameCIのバージョン指定ミス」といった原因を即座に特定してくれます。エラーメッセージの意味を調べてから質問する必要はありません。

段階的に機能を追加する: 「テスト→ビルド→デプロイ」の順番で機能を追加していくのが安全です。全部を一度に書こうとすると、どの設定が問題かの特定が困難になります。Antigravityに「テストのステップだけが通ったので、次にAndroidビルドを追加してください」と段階的に依頼するほうが確実です。

ProjectSettingsディレクトリをコンテキストに含める: チャットにプロジェクトのディレクトリ構造やProjectSettings/ProjectSettings.assetの内容を貼り付けると、Bundle ID、ターゲットプラットフォーム、最低SDKバージョンなどを考慮した設定を生成してくれます。汎用的なテンプレートではなく、自分のプロジェクトに合ったYAMLが生成される点が大きな違いです。

iOSビルドの自動化とコスト管理

iOSビルドはmacOSランナーが必要で、GitHub Actionsの無料枠ではLinuxの10倍のコストがかかります。個人開発者向けの現実的な戦略を紹介します。

コスト最適化のポイントは以下のとおりです。

  • on: push: branches: [main] のみiOSビルドを実行し、PR時は実行しない
  • needs: test でテストジョブが通った場合のみビルドジョブを実行する
  • UnityのLibraryディレクトリをキャッシュして毎回のフルビルドを回避する
  build-ios:
    name: iOS Build
    runs-on: macos-latest
    needs: test                         # testジョブ成功後のみ実行
    if: github.ref == 'refs/heads/main' # mainブランチのみ
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          lfs: true
 
      - name: Cache Unity Library (iOS)
        uses: actions/cache@v4
        with:
          path: Library
          key: Library-iOS-${{ hashFiles('Assets/**', 'Packages/**', 'ProjectSettings/**') }}
          restore-keys: |
            Library-iOS-
            Library-
 
      - name: Build iOS Xcode Project
        uses: game-ci/unity-builder@v4
        env:
          UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
          UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
          UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
        with:
          targetPlatform: iOS
          buildName: MyGame
          buildsPath: build
 
      - name: Upload iOS Build Artifact
        uses: actions/upload-artifact@v4
        with:
          name: ios-build-${{ github.run_number }}
          path: build/iOS

生成されたXcodeプロジェクトをそのままIPAにしてTestFlightに投げるには、別途コード署名の設定が必要です。このあたりはFastlane × Antigravityを使ったApp Storeへの自動提出ガイドで詳しく解説していますので、合わせて参照してみてください。

TestFlightへの自動アップロードをFastlaneで実装する

GameCIでXcodeプロジェクトが生成されたら、Fastlaneを使ってそのままTestFlightに投げることができます。App Store Connect APIキーを用意しておくと、パスワード認証不要で安全に自動化できます。

      - name: Sign and Upload to TestFlight
        env:
          ASC_KEY_CONTENT: ${{ secrets.ASC_KEY_CONTENT }}
          ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }}
          ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }}
          CERTIFICATE_P12: ${{ secrets.CERTIFICATE_P12 }}
          CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
          PROVISIONING_PROFILE: ${{ secrets.PROVISIONING_PROFILE }}
        run: |
          gem install fastlane --no-document
          fastlane ios beta

対応するFastfileはAntigravityに「App Store Connect APIキーを使ってUnityのXcodeプロジェクトからIPAをビルドしてTestFlightにアップロードするFastfileを書いてください」と依頼するだけで生成されます。必要なシークレットのリストも同時に出力してくれるので、GitHub Secretsに何を設定すればよいかが一目で分かります。

コードの設計と自動化の関係を整理するうえで、今でも手元に置いておきたい一冊です。

ビルドが自動化されると開発のリズムが変わる

このパイプラインを組んで最初に気づいたことは、「ビルドが通るかどうかを待つ時間」の使い方が変わったことでした。以前はローカルでビルドが走っている間、中途半端に待つしかありませんでした。CI/CDに任せてしまうと、pushしてAntigravityで次の実装の相談をしている間にビルドが終わっています。

まず試すなら、今日紹介した基本ワークフロー(テストのみ)から始めてください。ビルドやデプロイは後から追加できます。テストだけ自動化するだけでも、「手動でテストし忘れてバグをコミットする」という失敗が確実に減ります。

Unityの開発フローをAntigravityで高速化するその他の方法については、Unity × Antigravity 高速開発ガイドも参考にしてみてください。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

アプリ開発2026-07-03
CI の検証が緑なのにストア審査でスクリーンショットが差し戻されるとき — 検証ルールの鮮度を計測する運用メモ
ストアアセットのCI検証が通るのに審査で差し戻される原因は、検証ルール自体の陳腐化にあります。仕様を鮮度つき契約ファイルに分離し、ロケール別のテキストあふれと知覚差分まで検証する実装を紹介します。
アプリ開発2026-03-22
Antigravity × AIエージェントで構築する自動収益化CI/CDパイプライン — コード生成からデプロイ・課金まで
AntigravityのAIエージェントとCI/CDパイプラインを連携させ、コンテンツ生成・自動デプロイ・課金システムまでを一気通貫で自動化する収益パイプラインの設計と実装を詳しく解説します。
連携・プラグイン2026-03-10
GitHub Actions × Antigravity CI/CD 自動化ガイド — AI でパイプラインを構築・運用する
Antigravity と GitHub Actions を連携して CI/CD パイプラインを構築する方法を解説。ワークフロー生成からデプロイ自動化まで。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →