LionのTracにJenkinsプラグインを導入した
Macで動かしているTracにJenkinsプラグインを導入したので覚え書としてまとめておく。動作環境は下記の通り。
Jenkins導入
JenkinsはMac用のインストーラ付きで配布されているものを利用している。インストーラがdaemon等の設定をすべてやってくれるので、Mac起動時には直ぐに使えるようになっている。これは大変便利なのだが、設定等があちこちに散らばっているのでややこしい。整理すると下記の構成になっているようだ。
- アプリケーション本体
- /Applications/Jenkins/jenkins.war
- ドキュメント
- /Library/Documentation/Jenkins/command-line-preferences.html
- daemon起動設定
- /Library/LaunchDaemons/org.jenkins-ci.plist
- 上記に記載されている起動スクリプト
- /Library/Application Support/Jenkins/jenkins-runner.sh
- 上記に記載されているカスタマイズ設定
- /Library/Preferences/org.jenkins-ci.plist
JenkinsのURLにプレフィックスを付けるため、下記の設定を行なっておく。
$ sudo defaults write /Library/Preferences/org.jenkins-ci prefix /jenkins
Jenkins更新
WindowsのサービスでJenkinsを実行させているとバージョンアップが自動的に行えるので便利なのだが、Mac環境では残念ながらそこまで実現できていないようだ。そこで下記のようなバージョンアップ用スクリプトを用意しておくと、簡単にバージョンアップ出来るようになる。
$ sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist $ sudo cp ~/Downloads/jenkins.war /Applications/Jenkins/ $ sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
Apache連携
Apacheからアクセスするため、Jenkins用の設定を /private/etc/apache2/other/jenkins.conf (新規作成)に記載した。
<Location /jenkins> ProxyPass http://localhost:8080/jenkins ProxyPassReverse http://localhost:8080/jenkins </Location>
Tracプラグイン導入
HudsonTracPlugin ver.0.4を導入した。そのまま使うと画面にはHudsonと表示されてしまうので、Jenkinsと表示させるためにhudsontracplugin/0.10/HudsonTrac/HudsonTracPlugin.py を書き換えておく。
- タブメニューに"Jenkins"と表示させる設定。
def get_navigation_items(self, req): if self.nav_url and req.perm.has_permission('BUILD_VIEW'): yield 'mainnav', 'builds', Markup('<a href="%s"%s>Jenkins</a>' %
- Tracのタイムラインに"Jenkins Builds"と表示させる設定。
def get_timeline_filters(self, req): if req.perm.has_permission('BUILD_VIEW'): yield ('build', 'Jenkins Builds')
インストールはいつものプラグインと同様。
$ sudo /opt/local/bin/python2.6 setup.py install
Tracを起動して「管理」→「プラグイン」にて"HudsonTrac 0.4"のチェックボックスをオンにして、trac.iniへ下記の記載を追記しておいた。
[hudson] job_url = http://localhost:8080/jenkins/ main_page = /jenkins/