Lion 君に Jenkins さんをインストールするときのちょっとしたTips
サーバでJenkinsを使ってCIを行っているのですが、ちょっとした実験するときに自分のMac上で動かしてみたいと思い、jenkins-ci.org からネイティブパッケージ(Mac用インストーラ)を持ってきてインストールしてみました。
今回利用したJenkinsのバージョンは ver. 1.439 です。
インストーラを、ダブルクリック!
終了したら、http://localhost:8080/ をブラウザでアクセスすればOK!
のはずですが、おかしい (^_^;
Winstone Servlet Containerさんが、コンテナがないよ。ってエラーを返してきます。
ここは、素直に/var/log/system.log を見てみます。
java.io.FileNotFoundException: /Users/Shared/Jenkins/Home/war/META-INF/MANIFEST.MF (No such file or directory)
なるほど、例外が出てます。
たしかに、こんなファイルは無いですし、ディレクトリもありません。
では、自動起動用のplistを見てみます。
more /Library/LaunchDaemons/org.jenkins-ci.plist
ユーザがデーモン(daemon)さんで起動するようになってますね。
起動スクリプトの /Library/Application Support/Jenkins/jenkins-runner.sh は、問題なさそうです。
では、ファイルがないなら作成できなかっただけかな。と、思い、、、
ls -l /Users/Shares
あれれ、Jenkinsディレクトリが
drwxr-xr-x 2 root wheel 102 11 15 19:09 Jenkins
rootさんの所有になってますね。
daemonさんで起動されるのにパミッションが無いです。
sudo chown daemon /Users/Shares/Jenkins
として、オーナーをdaemonさんに変更します。
Jenkinsさんを再起動しましょう。
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
よしよし、これでhttp://localhost:8080/ で見慣れたJenkinsさんが現れてくれました。
でも、この対応ってあんまりよろしくないんですよね。
たとえば、Gitなんかを使うときに認証鍵とかを使う場面が多々あるのですが、daemonさんのHOMEは、/var/rootなので、/Users/Shares/Jenkins/HOMEに鍵をおいてもそのままじゃだめなんですよね。dscl コマンドでちゃんとユーザ設定しないと競合しちゃいます。ま、今回はこれでいいか。。。
これって、インストーラのバグなのかな? 私の環境だけなのか。
同じ症状の方がいらっしゃったら教えてください。バグ報告します。
追記:jenkins-ci.orgのBug Trackerにも同じ事象の方がいらっしゃいました。明らかBugですかね。