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/

動作結果

上記の設定を行い、下記の動作ができるようになった。

  • Tracのタブメニューに"Jenkins"と表示され、Jenkinsの画面を呼び出せること。

  • TracのタイムラインにJenkinsのジョブ結果が表示され、Jenkinsの該当画面を呼び出せること。

なかなか便利に使えるようになったと思う。