OS X El CapitanにJenkinsをインストール(3)
前回の続きです。ここまでにJenkinsのインストールが済んだものの、大量の警告やエラーログが出力されていて使い物にならない状態になっていたのを、DNSマルチキャストを切って問題回避しました。
今回は、ログインと同時にJenkinsを起動するよう設定します。
ログイン時からJenkinsを起動するためには、まず/usr/local/opt/jenkins
下のplistファイルを~/Library/LaunchAgents
に置き、その上でlaunchctl
コマンドを使ってロードします(…と、JenkinsをインストールしたときのHomebrewのログに書かれていました)。
(Jenkinsインストール時のログ再掲) 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
ログでは/usr/local/opt/jenkins下のファイルへシンボリックリンクを張っていますが、これではhomebrewでアップデートするたびに設定内容が書き換えられてしまいます。ですので、設定ファイルを~/Library/LaunchAgents
フォルダにコピーしておき、それを使うようにします。
% cp -p /usr/local/opt/jenkins/*.plist ~/Library/LaunchAgents/.
plistには、前回のDNSマルチキャストを切るよう忘れずに設定しておきます。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>homebrew.mxcl.jenkins</string> <key>ProgramArguments</key> <array> <string>/usr/bin/java</string> <string>-Dhudson.DNSMultiCast.disabled=true</string> <string>-Dmail.smtp.starttls.enable=true</string> ← この1行を追加 <string>-jar</string> <string>/usr/local/opt/jenkins/libexec/jenkins.war</string> <string>--httpListenAddress=127.0.0.1</string> <string>--httpPort=8080</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
そして、launchctl
コマンドでロードします。
% launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
これで、再ログイン後も http://127.0.0.1:8080 でアクセスできるはずです。実際に再起動して、動くことを確認しました。
% ps ax | grep java 508 ?? S 0:36.68 /usr/bin/java -Dhudson.DNSMultiCast.disabled=true -Dmail.smtp.starttls.enable=true -jar /usr/local/opt/jenkins/libexec/jenkins.war --httpListenAddress=127.0.0.1 --httpPort=8080
アドレスやポートの設定などが残っていますが、インストールはひとまずここまで。
補足:自動起動を解除する
自動起動を設定した時と同じように、ターミナルでlaunchctl
コマンドを「unload
」オプションと一緒に使用します。
% launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist