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