読者です 読者をやめる 読者になる 読者になる

なか日記

一度きりの人生、楽しく生きよう。

TracLightningのhudsonをjenkinsに変更する

Trac Lightningにはhudsonが同梱されていますが、これをjenkinsに置き換えてみました。
まぁ、hudsonもまともに使ったことないんですけどね。残念ながら。
試したのはTrac Lightning 3.0.8です。

jenkinsのダウンロードと配置

  • Jenkinsのダウンロードページ から jenkins.war をダウンロードする
  • jenkins.war を C:\TracLight\hudson に置く
  • C:\TracLight\hudson を C:\TracLight\jenkins にリネーム

起動用バッチの編集

  • hudson.bat をコピーして jenkins.bat にリネーム
  • バッチファイルの中身を jenkins に置換

"%JAVA_CMD%" -Duser.home="%TL_PROJECT_HOME%\jenkins" -jar jenkins.war --prefix=/jenkins --ajp13Port=8009 --ajp13ListenAddress=127.0.0.1 --httpListenAddress=127.0.0.1 --httpPort=8010

"%TL_PROJECT_HOME%\jenkins"の指定でC:\TracLight\projects 配下に jenkins フォルダ作成されることになります。この中にジョブとか諸々の情報が格納されます。

httpd.confの変更

C:\TracLight\CollabNetSVN\httpd\conf\httpd.conf を以下の様に変更します。
まぁ、jenkins に置換するだけですね。


Order allow,deny
Allow from all

AuthType Digest
AuthName trac
AuthUserFile "C:\TracLight\projects\trac.htdigest"
Require valid-user

BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On

ProxyPass http://127.0.0.1:8010/jenkins
ProxyPassReverse http://127.0.0.1:8010/jenkins

trac.iniの変更

ガイドのURLを変更するために trac.ini に以下のエントリを追加します。navigation_label はお好みでどうぞ。

[hudsonplus]
hudson_url = http://localhost:8010/jenkins/
jobs =
main_page = /jenkins/
navigation_label = ジェンキン寿司!

起動用バッチ、バックアップ用バッチの修正

起動用やバックアップ用のバッチファイルを修正します。C:\TracLight 配下に格納されているやつですね。変更した部分のみ載せておきますが、ここも hudson を jenkins に置換しただけです。

起動用バッチ

if exist jenkins\jenkins.bat start /Djenkins jenkins.bat

バックアップ用バッチ

mkdir "%TL_BACKUP_DIR%\jenkins"

xcopy "%TL_PROJECT_HOME%\jenkins" "%TL_BACKUP_DIR%\jenkins" /e /c /h

hudsonのデータ

これは試せていないのですが、C:\TracLight\projects\hudson を jenkins にリネームしたらジョブとか諸々のデータが使えるんじゃないかなと思います。
C:\TracLight\projects\hudson\.hudson\jobs に格納されているフォルダを全て、C:\TracLight\projects\jenkins\.hudson\jobs にコピーすればいいんじゃないかなと思います。
結局、jenkinsになっても、.hudson に格納されるのは変わってないみたいですし。
ソフト/Bug Tracking/trac/2011 - discypusで教えてもらいましたが、.hudsonに格納されるバグは2011/02/12公開の1.397で修正されているようです。
[JENKINS-8658] Jenkins 396 still uses $(user.home)/.hudson as default when ran using executable war (java -jar jenkins.war) - Jenkins JIRA