なか日記

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

TracLightningのhudson(jenkins)をサービス起動する

TracLightningのTracについてはサービスに登録するバッチがスタートメニューに登録されるのでわかりやすいですが、hudson(jenkins)についてはhudsonが提供しているコマンドで登録する必要があります。
そこでちょっと嵌ったのでメモっておきます。
ちなみに、この前のエントリ「TracLightningのhudsonをjenkinsに変更する - なか日記」で hudson を jenkins に変更しているので、その辺は適当に読み替えて下さい。

サービスの登録

やり方は、id:ushidayさんのエントリー「HudsonをWindowsサービスで実行 - ushidayの日記」を見て下さい。
私も「Jenkinsを再起動しますので、しばらくお待ちください。」から全然画面が更新されませんでした。

原因はバッチファイルから起動した時のポートが8010なのに対して、サービス登録した時のポートは8080になっているからのようです。

ポートの変更

C:\TracLight\projects\jenkins\.hudson\jenkins.xml
にあるこの1行を変更します。

  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8010</arguments>

こんな感じで、httpd.confのポートに合わせます。

これでOKと思ったけど

以下の様なエラーになってどうにもなりません。

Status Code: 404
Exception:
Stacktrace:

(none)

ちょっと強引かもしれませんが

結局、バッチで起動している時の引数

"%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

と合わせりゃいいんじゃない?ということで次のように変更しました。

  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war"  --prefix=/jenkins --ajp13Port=8009 --ajp13ListenAddress=127.0.0.1 --httpListenAddress=127.0.0.1 --httpPort=8010</arguments>