13
13

More than 3 years have passed since last update.

Unity Cloud Buildで自動ビルド環境を手に入れる

Last updated at Posted at 2020-01-01

はじめに

皆様明けましておめでとうございます!

本業はフロントエンドエンジニアですが、趣味ではサークルでゲームを作ったりしてまして、最近はこんなゲームを作ったりしてました。
このゲームは私(プランニング、プログラミング担当)ともう一人(グラフィック、サウンド担当)で作ったんですが、開発時に修正チェックなどでお互いの環境でビルドして動作確認するのが煩雑だなーと感じていました。
次回作を作るにあたり、このめんどくささを解消したいなと考え、調べた結果、Unity公式がUnity Cloud Buildというサービスを提供しており、今やりたいこととマッチしていたので実際に試してみました

実現したいこと

  1. GitHubで管理しているリポジトリに変更が加わる
  2. 自動的にビルドが行われる
  3. ビルド完了通知がSlackに送られる(ビルド生成物のダウンロードもできる)

Unity Team Advanced

Unity Cloud Buildの公式ページはこちらです。
キャプチャ1.PNG

公式ページを見ればわかる通り今回実現したいことを実現するためにはUnity Team Advancedを手に入れている必要があります。

キャプチャ2.PNG

ひと月あたり$9~(チーム人数によって変動)かかりますが、1か月は無料で使うことができるので、試してみて快適だなと感じたら課金しましょう。
Cloud Buildが使える以外にもBasicプランに比べていろいろパワーアップしています!

Unity Cloud Build

プロジェクト作成

Unity Team Advancedアカウントを作ってUnity Cloud Buildにログインするとこんな管理画面にアクセスできます
(私はすでにプロジェクトを作っているので一つだけプロジェクトがありますが無視してください)
キャプチャ3.PNG
まずプロジェクトを作りましょう
右上の「CREATE NEW PROJECT」という青いボタンを押します。
キャプチャ4.PNG
任意のプロジェクト名を入力し、先ほど作成したUnity Team Advancedアカウントを組織で選択します。

作成ボタンを押下すると以下のようなプロジェクト管理画面に遷移します。
キャプチャ5.PNG

GitHub連携

GitHubと連携して、ビルドを自動化しましょう。
左のメニューから「Cloud Build」 → 「Config」と進みます
キャプチャ6.PNG
ここから「Souce Control Setting」をEditします。
キャプチャ7.PNG
連携できるサービスが表示されます。
現状GitHub、Bitbucket、GitLabが選択できます。
ここでは「GitHub」を選択します。

GitHub側の認証を求めるので許可すると、以下のようなリポジトリを選択する画面に遷移します。
キャプチャ8.PNG
ここでビルドしたいUnityプロジェクトのリポジトリを選択して、「NEXT: TARGET SETUP」を押下します。
キャプチャ9.PNG

すると元のConfig画面に戻るのでSource Control SettingsのところにGitHubのSSH Keyが設定されているのを確認しつつ「SETUP NEW TARGET」を押下します
キャプチャ10.PNG
どのプラットフォーム用のビルドをするか聞かれるのでお好きなものを選択してください。

キャプチャ11.PNG

次の画面ではビルドの設定を行うことができます。
設定できる項目としては以下の通りです

項目 内容
ラベル ラベル名称。実行ファイル名になるみたいです(Windows 64bitで確認)。アルファベットとハイフンとスペースのみ使用可能
branch ビルド対象Branch
Project Subfolder rootフォルダ以外のところに資産が置いてある場合はここで指定します
Auto Detect Version ONにするとプロジェクト設定(ProjectSettings/ProjectVersion.txt)からUnityバージョンを自動検出するかどうか
Unity Version Auto Detect VersionがOFFの場合はUnityバージョンを明示的に指定します
Build with closest version Auto Detect VersionがONの場合で、検出したUnityバージョンがCloud Build上で使えない場合は、最も近いバージョンを使うことを許可するか
Auto-build リポジトリに変更があった場合に自動でビルドするかどうか

ビルドするプロジェクトや好みに応じてお好きに設定してください。
(今回やりたいことをやるためにはAuto-buildのONは必須です)

設定が終わったら「NEXT」を押下しましょう。

するとこんな感じでビルドヒストリーを見られる画面に遷移します。
この画面で右上の「BUILD DEFAULT~」という青いボタンを押せば、手動ビルドすることも可能です。
キャプチャ12.PNG

これでリポジトリに変更が加われば自動的にビルドが行われるようになりました!

Slack連携

ただこれではビルドは自動で行ってくれるのですが、いつ完了するのかは都度この画面で確認する必要があって面倒です(今回作ったゲームで試したところビルド時間はそこそこかかった)。
終わったら教えてくれるのが理想ですね。
現状平時の連絡はSlackで行っているので、終わったらSlackに通知してくれるようにしましょう。
連携の口はCloud Buildが提供してくれているので、設定を行うだけで連携完了します。
キャプチャ13.PNG

左のメニューから「Settings」→「Integrations」を選択します。
「NEW INTEGRATION」を押下して連携設定を新規作成しましょう。
キャプチャ14.PNG

選べるサービスもいくつかありますが、今回はSlackを選択します。
(最近流行ってるコミュニケーションツールは大体揃ってる印象ですね)
キャプチャ15.PNG
次の画面ではどのアクションをSlack側に通知するかを選べます。
この辺りは好みに応じてお好きにどうぞ。
(個人的にはCloud Build全てとCollaborateを選択していますが、とりあえず全部チェックしといて邪魔だったら消すでいいとも思います)
設定完了後、「NEXT」を押下するとUnity Serviceに許可する情報と通知が投稿されるチャンネルを指定すれば連携完了です。

連携完了後

連携完了後に指定したリポジトリのブランチに変更を加えると以下のような形でSlackに通知が投稿されます!
キャプチャ16.PNG

Downloadリンクをクリックすればビルドされたゲームの実行フォルダがダウンロードできます

管理画面ではリアルタイムにログを確認することもできます
キャプチャ17.PNG

おわりに

こんなことしてるから肝心のゲーム開発本体が進まない説

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13