前提条件
- Mac OS X 10.7.4
- brew 0.9
- Jenkins 1.459
インストール
brewでインストールします
$ brew install jenkins
サービス登録用の設定ファイルを作成しておく
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/jenkins/1.459/homebrew.mxcl.jenkins.plist ~/Library/LaunchAgents/
ポート番号変更
jenkinsのポート番号をデフォルトの8080から8088に変更。あとAJPをOFFにする(Tomcat立ち上げると被る)。~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
を編集し、コマンドライン引数に --httpPort=8088 --ajp13Port=-1
を追加。
<?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>-jar</string>
<string>/usr/local/lib/jenkins.war</string>
<string>--httpListenAddress=127.0.0.1</string>
<string>--httpPort=8088</string>
<string>--ajp13Port=-1</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
(実はこのファイルを直接作成してしまえば/usr/local/lib/jenkins.war
を用意するだけで良くて、brew不要だったりする)
サービス登録
ログイン時に起動するために以下を実行
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
確認
jpsでプロセス確認
$ jps
12553 jenkins.war
12557 Jps
lsofで8088番portがLISTENされているか確認
$ lsof -i -n -P | grep java
java 12653 maki 142u IPv6 0xffffff8014788ac0 0t0 TCP 127.0.0.1:8088 (LISTEN)
java 12653 maki 233u IPv6 0xffffff800ed0c340 0t0 TCP *:62951 (LISTEN)
java 12653 maki 234u IPv6 0xffffff8014787bc0 0t0 TCP *:62952 (LISTEN)
java 12653 maki 235u IPv6 0xffffff800de851f0 0t0 UDP *:33848
java 12653 maki 236u IPv6 0xffffff800b6797f8 0t0 UDP *:5353
サービスが登録されていることを確認
$ launchctl list | grep jenkins
12653 - homebrew.mxcl.jenkins
ちなみにlaunchctlでマニュアルで起動・停止するときはlaunchctl start/stop homebrew.mxcl.jenkins
。plistを変更した場合はlaunchctl unload -> load。
最初のジョブ
http://localhost:8088にアクセスして 「新規ジョブ作成」→「ジョブ名」に"hello-jenkins"を入力、「フリースタイル・プロジェクトのビルド」をチェックして、「OK」
→「ビルド」で「シェルの実行」
→「シェルスクリプト」に"pwd"を入力
→「保存」→「ビルド実行」→ビルド履歴から「コンソール出力」
→ シェルスクリプトの内容を確認