会社でJenkinsを触る機会が増えてきました。

今回は環境構築からやってみたんですが、そこまでは普通にネットの海に転がってる情報でできたんです…

問題はUnity+Jenkinsのビルドで勃発した

環境はこんな感じ

Unity : 5.5.0f3
Jenkins : 2.45
OS : macOS Sierra 10.12.2
Java : 1.8.0_121

 概要

インストーラでJenkinsをインストールすると

user : jenkins
group : LaunchDaemons

これで実行されてしまう。

このユーザーではアクセス権限のない、Provisioning profileとか,AndroidSDKとかにアクセスできず、ビルドが通らないというエラーですね。。

さらに、Unityはビルド時にEnlightenのためにGPUを使用するが、LaunchDaemonsではGPUを使用できないのでLaunchAgentsとして実行する必要あり。

参考 :  http://qiita.com/MARQUE/items/a26f84cc310c7291ab77

直しかた

$ sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
$ mkdir ~/Library/LaunchAgents
$ sudo mv /Library/LaunchDaemons/org.jenkins-ci.plist ~/Library/LaunchAgents/
$ sudo chown -R hoge:staff /var/log/jenkins/
$ sudo chown -R hoge:staff /Users/Shared/Jenkins/
$ launchctl load ~/Library/LaunchAgents/org.jenkins-ci.plist

 説明

・実行中のJenkins停止

・LaunchDaemonsの設定ファイルをLaunchAgentsとして起動するためにLaunchAgentsフォルダに移動

・ログファイルフォルダとワークフォルダの所有権をJenkinsを実行させたいユーザーに変更

id -p //これでユーザーとグループ確認できる

・LaunchAgentsとして再起動

これで解決。。。結局参考させていただいたサイト通りですね。。

参考サイトではnewsyslogの権限も変更してました