LoginSignup
17
19

More than 5 years have passed since last update.

HomeBrewで入れたJenkinsをデーモン化

Last updated at Posted at 2013-12-10

手動で起動

alias jenkins_server='java -jar /usr/local/opt/jenkins/libexec/jenkins.war --httpPort=8081'

上記のようなaliasを切って手動で起動していたが、時々忘れるのでデーモン化してみた。
※ポートは8081にカスタマイズ。

デーモン化

brew infoで情報取得

-> % brew info jenkins
jenkins: stable 1.541, HEAD
http://jenkins-ci.org
/usr/local/Cellar/jenkins/1.541 (5 files, 188M) *
  Built from source
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/jenkins.rb
==> Caveats
Note: When using launchctl the port will be 8080.

To have launchd start jenkins at login:
    ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
Then to load jenkins now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
Or, if you don't want/need launchctl, you can just run:
    java -jar /usr/local/opt/jenkins/libexec/jenkins.war

言われた通り実行してみる

-> % ln -sfv /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents
-> % launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

が、mvnのパスが通ってない、日本語が化ける、色々と問題あり。
手動で起動していた場合は、ユーザが設定した環境変数がそのまま渡るが、デーモン化すると上手く渡らない模様。

環境変数を渡す

ググッてみた所、
/etc/launchd-user.conf

/etc/launchd.conf
をいじればいいとのこと、実際にやってみるが何故か渡らない。

試行錯誤の末、最終的に
~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
をカスタマイズすることで解決した。

差分はこんな感じ

-> % diff homebrew.mxcl.jenkins.plist homebrew.mxcl.jenkins.plist.org
5,13d4
<     <key>EnvironmentVariables</key>
<     <dict>
<       <key>PATH</key>
<       <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin/:/opt/X11/bin</string>
<       <key>JAVA_TOOL_OPTIONS</key>
<       <string>-Dfile.encoding=UTF8</string>
<       <key>MAVEN_OPTS</key>
<       <string>-Djava.awt.headless=true</string>
<     </dict>
23d13
<       <string>--httpPort=8081</string>
コメント

・PATH
mvnにパスを通すため。
export PATH=/usr/local/bin:$PATH のように展開させたかったが出来なかった。
あと、/etc/paths もなぜか無視される。

・JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF8: 日本語の文字化け対応

・MAVEN_OPTS
-Djava.awt.headless=true: mvn起動時に変なコーヒーカップのウィンドウが立ち上がるのを防ぐ

・その他
~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
はカスタマイズしたので、念のためシンボリックリンクじゃなくてコピーを取っておいたほうがいいと思います。

17
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
19