iizukakの作業ログ

忘れる前にメモしよう

Cloud Build で macOS/Windows アプリケーションをビルドする

環境

  • Unity 2018.2.10f1

はじめに

Unity 用の CI 環境がほしいと思って Cloud Build を試しています。まだ少し触っただけなのですが、非常に便利そう。数クリックで macOS/Windows 用のアプリケーションをビルドして、ユニットテストまで実行できる…。 今のところは基本的には有償で、月 9 ドルで 25GB のストレージがついてくるようです。Unity で CI やるにはオンプレでそれなりにコストをかけてやる (MacWindows マシンに Jenkins なり CI サービスを立てたりする) ことが多いと思うのですが、フルマネージドで 9 ドルというのはめちゃ安いと思うんですよね。

リポジトリ

こちら のテスト用リポジトリで試しています。

Cloud Build の使い方

Cloud Build の UI はそれほど複雑ではないので、直感的に操作することができました。最終的な設定結果は次のようになっています。

f:id:iizukak:20180929224709p:plain

私は普段 macOS で開発を行っているので、Git の master ブランチが更新されると、macOS 用のビルドが自動的に走るようにしています。またこの際にユニットテストも自動的に実行し、テストに失敗した場合にビルド全体が失敗するようにしています。Window については時々しか確認しないし、ディスクスペースももったいないので自動ビルドは切ってあります。

リポジトリ追加

リポジトリの追加については、Github や Bitbucket といった GIt のホスティングサービスを使うか、Git リポジトリをマニュアルで設定するか選べます。今回は Github 上にあるリポジトリをマニュアルで設定していて、次のようになってます。

f:id:iizukak:20180929225117p:plain

リポジトリを追加すると公開鍵が表示できるようになるので、これを Github リポジトリの設定で Deploy Key に追加します。これで Cloud Build からリポジトリにアクセスできるようになります。

Target 追加

macOSWindowsWebGL などを Target として追加でき、Target ごとに細かく設定ができます。

  • 自動ビルドするか
  • どのブランチをビルドするか
  • テストを実行するか
    • EditMode テスト
    • PlayMode テスト

等の設定が可能です。

Unity のバージョン

最新の Unity バージョンが利用できます。新しいバージョンの Unity がリリースされると、48 時間以内に Cloud Build でも使えるようになるようです。