naichi's lab

3日後の自分(他人)への書き置き

【Unity】Unity Cloud Build無料プランでiOS、Androidアプリのビルドを自動化する

f:id:naichilab:20150917124702p:plain

はじめに

先月Androidアプリを作ったときにUnity Cloud Buildを使ってみました。
とっても便利だったので設定方法をまとめておきます。

環境

  • PC:Mac OS X Yosemite 10.10.5
  • XCode:6.4
  • ビルド対象プラットフォーム:iOS、Android、WebPlayer

Unity Cloud Build とは

Unity Cloud BuildはUnity公式のクラウドサービスです。

設定しておくと下記作業を自動化できます。

  1. 自動でビルド

    GitやSVNにコミットすると自動的にソースコードを引き取り、ビルドを開始します。
    iOS、Android、WebPlayer向けのビルドを自動で行うことができます。

  2. 結果をメール通知

    ビルドの成否がメールで届きます。
    メールに記載されたURLにiOSやAndroid端末からアクセスすると、すぐにインストールできます。

そしてこれらは一度設定してしまえばリポジトリにプッシュするたびに自動的に行われます。 自動テストや自動デプロイとまではいきませんが、自動的にビルドされて成否が分かるだけでもCI(継続的インテグレーション)の取っ掛かりに最適だと思います。

無料版では自動ビルドが1時間おきだったり、REST APIでアクセスできなかったりと、いろいろ制限がありますが試す分には十分でしょう。

ちなみに各プランの違いはこんな感じ。
f:id:naichilab:20150906223712p:plain
真面目に使うならSTUDIOPLAN必須って感じでしょうか。

設定の流れ

では使ってみましょう!
大まかな流れは以下の通りです。

  1. ソースコードをGitリポジトリに保存
  2. Unity Cloud Buildにアプリケーションを登録
  3. Androidアプリ専用項目の設定
  4. iOSアプリ専用項目の設定

順番に説明していきます。

ソースコードをGitリポジトリに保存

すでにソースコードをGitHubやBitbucketとかで管理してる場合はこの手順は不要です。

UnityのプロジェクトをGitHubやBitbucketといったオンライン上のリポジトリサービスにアップロードしましょう。 リポジトリはprivate(非公開)でも問題ありません。

Gitの使い方やリモートリポジトリへの保存方法は長くなる上に本題からズレるので割愛します。
過去記事ですが参考にどうぞ。
naichilab.blogspot.jp

Unity Cloud Buildにアプリケーションを登録

  1. ログイン

    Unity Cloud Buildにこちらからログインします。Unity3dのアカウントでログインできます。
    初回はプランを選択する必要があるみたいですね。とりあえずFreeを選択。

  2. リポジトリのURLを設定

    ログイン後、ダッジュボードが表示されます。
    上部の「Add New」からアプリケーション新規登録画面へ移りましょう。

    そこでGitリポジトリのURLを入力します。 f:id:naichilab:20150906231242p:plain

    コピペするURLは下記方法で確認できます。
    GitHubの場合
    リポジトリの右サイドバー
    f:id:naichilab:20150906231435p:plain
    Bitbucketの場合
    リポジトリ画面の右上
    f:id:naichilab:20150906231630p:plain

  3. リポジトリサービスへSSHキーを登録

    Unity Cloud BuildのSSHキーをGitHubやBitbucket側に登録します。

    設定不要な場合、この画面は表示されません。

    Unity Cloud Buildの画面に表示されているSSH Keyをコピーしておきます。
    f:id:naichilab:20150906234651p:plain
    コピーしたキーを下記手順で登録。

    Githubの場合
    ログインし、Edit Profileを開きます。
    SSH keys -> Add SSH key -> タイトルとコピーしたキーを入力
    f:id:naichilab:20150906234758p:plain

    Bitbucketの場合
    ログインし、アカウントの管理を開きます。
    SSH キー -> 鍵を追加 -> ラベルとコピーしたキーを入力
    f:id:naichilab:20150906235311p:plain

  4. アプリケーション設定

    リポジトリへのアクセスに成功すると、アプリケーション設定画面に移ります。

    f:id:naichilab:20150907000121p:plain

    • Project Name

      Unity Cloud Buildのダッシュボードで表示する名前を入力。

    • Branch

      Gitでブランチを分けている場合、ビルド対象ブランチを選択。

    • Project Subfolder

      GitのリポジトリRootにAssetsフォルダがない場合、Assetsフォルダへのパスを入力

    • Unity Version

      ビルドするUnityのバージョンを入力。
      見知らぬビルドエラーに悩まされることになるのでローカルPCのバージョンと合わせておくことを推奨。

    • Supported Platforms

      ビルド対象とするプラットフォームを指定する。

    • Auto-build

      リポジトリの変更を検知して自動ビルドするプラットフォームを指定する。

  5. プラットフォーム固有の設定

    Supported PlatformsでAndroid、iOSを選択した場合、それぞれ固有の設定を求められます。

    次項で紹介。

Androidアプリ専用項目の設定

f:id:naichilab:20150907001402p:plain

  • Bundle ID

    アプリケーション固有の識別子。[com.会社名.アプリ名]みたいにつけましょう。
    Unity内で設定するBundle Identifierを勝手に使ってくれないのかな?

  • Choose Credentials

    資格証明書を選択します。とりあえずビルドするだけならUse Default(development keystore)で問題なし。
    もしAPKをそのままGooglePlayに公開したいならちゃんと選択する必要があります。 資格証明書はUnity内のPlayerSettingsから作成可能です。
    f:id:naichilab:20150907002818p:plain

iOSアプリ専用項目の設定

f:id:naichilab:20150910004614p:plain

あらかじめ下記記事に従ってMobile Provision Filep12 Fileを作っておきましょう。

blog.naichilab.com

  • Bundle ID

    Android同様に[com.会社名.アプリ名]みたいにつければいいと思う。

  • Xcode Version

    特にこだわりがなければAlways Use Latestでいいと思う。

  • Mobile Provision File

    作成したMobile Provision Fileを選択

  • p12 File

    作成したp12 Fileを選択

  • p12 Password

    p12ファイルをエクスポートする際に入力したパスワード

おわりに

iOS、Androidの自動ビルド設定は以上です!
なれれば簡単に設定できるので開発初期にまとめて設定してしまうとよいですね。

普段は好きな端末をつないで開発し、ストアへ公開するためのビルドは全てUnity Cloud Buildに任せる。
なんて使い方が良さそうです。

ぜひ使ってみてください!