月別アーカイブ: 2016年5月

Mac El Capitan で Jenkins がデーモンとして起動しなくなっていた件の修正

El Capitan にアップデートしてからJenkins が起動しなくなっていた問題の修正。

まず、ログすら残ってないので。

$ sudo chown jenkins /var/log/jenkins/

で、 launchctnl start して結果のログを見ると、こんな感じ。

前半はオプション指定が無いと言っているだけで、 jenkins.war へのパスが通っていないのがエラーの原因らしい。



The domain/default pair of (/Library/Preferences/org.jenkins-ci, war) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, JENKINS_HOME) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, prefix) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpPort) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpListenAddress) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpsPort) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpsListenAddress) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, ajp13Port) does not exist

The domain/default pair of (/Library/Preferences/org.jenkins-ci, ajp13ListenAddress) does not exist

JENKINS_HOME=/Users/Shared/Jenkins/Home

Jenkins command line for execution:

/usr/bin/java -Dfile.encoding=UTF-8 -XX:PermSize=256m -XX:MaxPermSize=512m -Xms256m -Xmx512m -Djava.io.tmpdir=/Users/Shared/Jenkins/tmp -jar /Applications/Jenkins/jenkins.war

Error: Unable to access jarfile /Applications/Jenkins/jenkins.war

plist で指定している jenkins は

/usr/local/opt/jenkins/libexec/jenkins.war

なのに、デーモンは

/Applications/Jenkins/jenkins.war

を探しにいって、見付からないので起動に失敗しているらしい。

agentを見てみると、jenkinsが二種類登録されていて、 古い設定が使われていたままの様だった。

~ $ launchctl list|grep jenkins
– -9 homebrew.mxcl.jenkins
– 78 org.jenkins-ci
~ $ launchctl remove homebrew.mxcl.jenkins
~ $ launchctl remove org.jenkins-ci
~ $ launchctl list|grep jenkins
~ $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
~ $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
~ $ launchctl start homebrew.mxcl.jenkins

またログファイルの所有者がrootになってしまうので 以下の様に、改めて登録と実行。

~ $ sudo chown jenkins /var/log/jenkins/
~ $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkinsp.list
~ $ launchctl start homebrew.mxcl.jenkins

この状態で、コマンドで起動すればJenkinsを使えるのだけれど、 デーモンとして起動しない状況は変わらず。

どうやら、 plistの値が使われず、 mac の defaultコマンドの値が使われているらしい。

~ $ defaults read ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

で、defaultを上書きしてあげる。

これで、デーモンとして jenkins が復活してくれた。