前提
- Hubot を動かすサーバは Windows (Windows 7 で確認)
- Windows で Hubot が動かせている(そのうち記事にします)
概要
Let's Chat と同じく、npm の winser パッケージを使ってサービス化します。なんか --env オプションがうまく動かなかったり、引数が設定されないので、そこは手動で処理します。
手順
C:\Path\To\Hubot>npm install winser
C:\Path\To\Hubot>node_modules\.bin\winser -i --startcmd node
C:\Path\To\Hubot>node_modules\winser\bin\nssm.exe edit hubot
で、出てくる GUI で2つ調整をします。
なんか、nssm64.exeってのもいますが、64bit 環境でも nssm.exe を使いました。良く分かっていません。
Arguments
winser に引数を渡してもうまくいかなかったのでこっちで。
Arguments の項目に引数を渡します。ポイントは Coffee の実行から渡すようにすることです。C:\Users\<UserName>\AppData\Roaming\npm\node_modules\coffee-script\bin\coffee node_modules\hubot\bin\hubot -a lets-chat
Environment
右の端にあるタブの「Environment」に Let's Chat 関係の環境変数を設定します。
HUBOT_LCB_TOKEN=<TOKEN_STRING>
HUBOT_LCB_ROOMS=<ROOM_ID>,<ROOM_ID>,...
おまじない
ちょっと PATH に自信がなかったので、一番左に戻って node のパスをフルパスにしておきます。
これでサービスとして Hubot が設定されました。