Webエンジニアの備忘録

およそ自己の作業メモとして残しております。

Unity Cloudで自動ビルドからSlack通知までを試してみました

Unityビルドの悩み

これまで実機での確認はPCにAndroid端末を接続して行っていました。 ただ、こちらの方法だと以下の懸念がつきまといます。

  • ビルドが環境に依存する。(ProjectやSceneを保存し忘れる、Unityバージョンを揃えそこねるなど)
  • 複数のプラットフォームでのビルドが手間。
  • ビルド中、何も出来ない。
  • テストビルドを他人に共有しづらい。

業務での開発であればビルドサーバーを用意することで連携をとっていると思いますが、個人開発だとそこまではなかなかできませんでした。 ところが最近、UnityのCloud Buildを利用することでこれらを一気に解決することができました。

https://unity3d.com/jp/services/cloud-build

基本的には無料で使える!

Asset Storeなどに登録していれば、同様のアカウントで利用が開始できます。 Unityでプロジェクトを作成し、Accountとのひも付けを行う方法がもっとも手っ取り早いです。

  • 右上ボタンからアカウントを設定できます。

f:id:tak_taniguchi:20160523172642p:plain

  • アカウントを設定すると、Serviceウィンドウ(⌘0キーで表示)にクラウドプロジェクトを作るボタンが出てきます。

f:id:tak_taniguchi:20160523172839p:plain

  • 既存プロジェクトと結びつける事もできます。
  • 「Select organization」ではプロジェクトの所属する組織を選択します。
  • こちらはアカウントに紐付く情報でチーム名など決めていただけば良いと思います。
  • 事前にクラウド側で設定しておくことでプルダウン選択できます。→ https://id.unity.com/organizations

  • 設定が完了すると、各ステータス表示画面になります。

f:id:tak_taniguchi:20160523172847p:plain

  • SETTINGタブで「UNITY PROJECT ID」が確認できます

この時点ではクラウド上にローカルプロジェクトと紐ついたシンボルができたに過ぎません。 Serviceウィンドウの右上に「Go to Dashboard」のリンクが出ていると思うので、そちらをクリックしウェブ側の設定ページを開きましょう。

GitHubやBitBucketと連携する!

上の続きで、Cloud Build設定ページから新規作成したプロジェクトを選んでください。 わたしは仮に「Test」を作成しました。 f:id:tak_taniguchi:20160523175022p:plain

「さあ、始めましょう」から順次、コード管理のサーバーURLやコラボレータの設定ができます。 (GitHubやBitBucketが使えます) サーバーURLはgit@github.com:user_name/project.git のようなパスを与えてやることでチェックアウトが可能かを調べてくれます。 Privateなリポジトリの場合はUnityが発行した公開鍵をコード管理プロジェクト側のデプロイ鍵に設定する必要があるのでご注意ください。

プラットフォームなどの設定も完了するとファーストビルドが行われます。

f:id:tak_taniguchi:20160523180254p:plain

フリープランのビルドはそこそこ時間がかかるのでしばらく放置しておきましょう。 グリーンのチェックが入ればビルドは成功です。 (失敗・成功かかわらずオーナーにはデフォルトで完了メールが飛んできます)

メールやSlackでビルド完了を通知、テストユーザーも複数登録できる!

メールはデフォルトでオーナーに送信、それ以外のアドレスも「コラボレータ」タブから追加できます。 Slackは「Notifications」タブにあるボタンから設定できます。

f:id:tak_taniguchi:20160523180702p:plain

開発用にチャンネルを作り、コードのコミット、ビルド結果などを纏めておくと非常に便利です! f:id:tak_taniguchi:20160523181651p:plain

現在の難点は無料だとビルドの連投ができず、1時間に1回程度までの制限があります。 とはいえ、これだけの機能が無料で利用できることは非常に便利ですし、個人開発も捗りますw

今後も良い機能がどんどん無料提供されていくことを願いつつ、技術習得に日々邁進していきたいと思います。