前提としてGithub SourceTreeをSSH認証運用してるものとします。
Jenkinsインストール
↑に従えばjenkinsのインストールとunity pluginはなんとなくインストールできると思います。
注意点、Program Files以外にインストールするとjenkinsが謎エラーを噴出します。
原因はさっぱりわからないです。自信がなければProgram Filesにインストールすべきです
Global Tool ConfigurationからインストールしてあるUnity3dの情報を登録します。名前は好きな物、インストールディレクトリはとりあえず絶対パスにしました。
Git install
ここの記事にもあるんですが、Gitインストール時にEnable Git Credential managerはアンチェックしておきます。JenkinsのGitプラグインがGit Credential Manager for WIndowsに対応してないらしいです。(でも2年前の記事だし今なら大丈夫かな??未検証です
これ以外はインストーラーのデフォルト値でOKです
Jenkins側で、Jenkinsの管理>システムの設定>グローバルプロパティ>ツールのパスでインストールパスを登録します。
SSH秘密鍵をJenkinsに登録
SSHキーの準備はできてますか? SourceTree & Githubとか使ってるなら問題ないですよね?SourceTreeでも使ってる秘密鍵(僕はid_rsa.ppk)をテキストエディタで開いて全内容コピーして直接入力 鍵のところにペーストしましょう。
うまく疎通すれば下記のエラーが消えてくれます
ここまでできたら後はジョブのビルドでUnityを選択すればOKです
ビルド関数に引数を渡す
PlatformやDevelop(Release)やバージョン番号をjenkinsから渡したくなりますよね
-executeMethod Game.Editor.MasakMenu.BuildStandaloneByJenkins $BUILD_NUMBER $Configuration
Windowsではこのような形でstatic関数名の後ろに任意の引数を追加するとよいです。
var args = System.Environment.GetCommandLineArgs();
// ビルド番号
BuildNumber = int.Parse(args[args.Length - 2]);
// コンフィグ
string config = args[args.Length-1];
C#側ではこのように書いて文字列として受け取ることができます。コツとして、引数をjenkinsのEditor command line argumentsの最後に羅列すると、C#で受け取るときに上記のようなindexの取り方できるので楽です。