UnityPro+Github+Jenkins+DeployGateで自動ビルド&配布環境を作る その2
必要環境
Mac
UnityPro(有料)
github(アカウント作成&SSH認証済み)
Jenkins(無料)
DeployGate(無料)
iOS Developper契約済みアカウント(有料)
となりますUnityProが必要な理由はバッチモードで
メソッドを直接実行できるオプションがProのみ対応しているとのことです。
0からこの環境を整えるのは結構面倒かとおもいますが、
一応必須条件は上記条件になります。
やる事
・Jenkinsの設定に追加
・xcodeプロジェクトからipaファイルを作成
・DeployGateアップロードして配布開始
・Jenkinsの設定に追加
の前に必要なプラグインをインストールします。
Jenkinsの管理からプラグインの管理を選択します。
必要なプラグイン
DeployGate Plugin
GIT plugin
GitHub API Plugin
GitHub plugin
Xcode integration
どこまでデフォルトで入ってるのかわすれてしまいましたが、大体このプラグインが必要です。
以下Jenkinsの設定周りです
プロジェクト名を入れます。任意ですが分かりやすい名前をつけます
githubのリポジトリURLとアカウントを入力する
このコマンドは前回の記事で作成したコマンドでprojectpathを${WORKSPACE}に変更した物です
以下xcodeビルド周りの設定になります
本当はxcodeビルドでipaファイル作成出来るはずなんですけどなぜかUnityプロジェクトは正常にipaファイルが吐き出されない!
どうしたJenkins!!しょうがないのでappからipaファイルを作成するコマンドを自前で用意し、
シェルで追加しておきます。
先ほど吐き出したipaファイルを保存しておく
DeployGateのAPIKeyとユーザー名を入力します。
最後にアップロードするipaファイルのパスを入力します。
以上で設定は完了です。 正常にビルドが行われると成果物が保存されDeployGateにアップロードされます。
いくつかつまづくところもありますが、
最新ソースをpull > バッチモードでUnityBuild > xcodeprojectからipaを作成 > DeployGateにアップロードして配布までを自動化できました。
これで少しデバッガさんやプロジェクトメンバーへの配布も楽にできました。
なぜipaファイルがXcodeプラグインの設定で作成出来ないのかがちょっと気がかりですが、
この記事は以上で完了とします。
ご意見マサカリ等歓迎致します。