ushidayの日記

主に「IBMi」のメモに・・・

HudsonをWindowsサービスで実行

HudsonをWindowsサービスで実行させようと、思いやってみましたが、またまたハマッタのでメモしときます。
サービスのインストール自体は、非常に簡単です。

  1. Hudsonの管理を開く
  2. Windowsのサービスとしてインストールを選択
  3. サービスのインストール先を指定する
  4. 実行ボタンをクリックして、サービスを開始する

しかし、サービスの開始がされず、下の表示のまま変わらない...。

プロンプト画面を見ると、エラーが投げられていた。

それではと、手動でサービスを開始すると、「"ローカルコンピュータ上の テストサービス サービスは起動して停止しました。パフォーマンスログ、警告サービスなど、一部のサービスは作業がない場合に自動的に停止します"」と言われて開始できない。
もう一度インストールをと思い実行しても、既にサービスがあるから駄目みたい。
ならばと、プロンプトから「sc.exe delete hudson」でサービスを削除して、再度インストール&実行。でも結果は同じ...。
ふと、イベントビューアのアプリケーションログを見ると、古いログで一杯。
これを消去して、ついでに一杯になったら、上書きされるように設定変更。それから、サービスを開始したら、無事出来ました。
サービスで動くポート等は、インストール先フォルダの「hudson.xml」を変えれば良さそうです。port8080は他のアプリと、かち合う可能性が大なので、8086あたり「netstat -an | find "8086"」で、使ってないか調べて変更しときました。
新たにインストールした先には、前回せっかく作ったジョブがないので、「$USER_HOME/.hudson」の中身をコピペします。Hudson再起動でジョブが戻りました。