【unity+jenkins】UnityプロジェクトをJenkinsでビルドする


めっちゃ大変な思いをしたのでまとめようと思った。

いくつかのプロジェクトのJenkins見てきたけど、各プロジェクト・プラットフォームごとに1ジョブにまとまっていることが多い。

私が考えるに各ジョブはモジュール化されているべきだと思う。メンテナンス的な意味や、そもそも作業中にJenkinsのチェックしてるときに、
gitとかまだUnityのビルドぐらいなら我慢出来るけど、Xcode様のビルドとかあーかいぶとかは長い・・・
ということで、以下のようなジョブを作って、パイプラインで並べることを想定します。

git:(プロジェクトのチェックアウトなど)
unityのビルド
Xcodeのビルド
Xcodeのアーカイブ
デプロイゲートorAppストアへのアップロード

これらを各個撃破する方向で解決させます。
久々に触って思ったけど、Jenkinsにかぎらず、UnityやXcodeのそれぞれのバージョンが変わってしまうと
微妙に変更が必要になることが避けられないですね。
上では書いてませんが、チェックしていた環境ではUnityとXcodeのビルドの間に一つファイルを加工するジョブが割り込みました。
環境的にXcodeが前進してしまったのですが、Xcodeで廃止された記述をUnityが吐き出していたので
やむなく追加対応する羽目に。

まったくこれだからUnityは。
では、最初はgitでリポジトリをクローンするところから始めます。
なお、環境としてはiOS/Android両方を見越してなので、Mac環境での構築がメインになります。