この前の記事で、hubotでslack botを作りました。
Host OSを再起動すると当然立ち上がってこないので、
今のうちに設定しておきたいなーと思った次第。
作っててスクリプトの更新をするためにはbotを再起動しないといけないわけで、何かいい方法はないかなーと思ったらスクリプトはgit管理、slackからメッセージを受け取って再起動するっていう仕組み作ったよ、 forever っていうツールとセットで使ってねっていうdistを見つけました。
Hubotの自動更新用スクリプト。 foreverの自動起動機能を利用して利用する想定。 $ /path/to/hubot/bin/bot start
[2018 6/6追記]
ちなみにこの記事を公開いたあと、
「デーモン化したいだけならsystemdでできるよ」と教えていただいたので
hubotをデーモン化するだけならsystemdだけでよかった - Qiita
という記事を公開しました。
hubotをforeverから起動する
それではまず、forever を使って hubot がデーモンとして起動できることを確認します。
foreverがまだインストールされていなければ、 sudo npm install -g forever
でインストールしましょう。
# hubotのディレクトリに移動しておくこと
forever start -c sh bin/hubot -a slack # 起動
forever list # forever がデーモン化しているプロセスの一覧を確認
forever stop bin/hubot # デーモン化を止める
forever list # そして誰もいなくなった
ちなみに forever の -c オプションは起動する実行ファイルを指定するもので、省略すると nodeを使って起動することになります。