centos7 にhubotをインストールした時のメモ。foreverで自動起動に対応させる。
先日centos7にhubotをインストールした時のメモです。
以前にcentos6で作業をしたことはありましたが、centos7では初めてです。
【GCE/GCP】Google Compute Engine hubotとslackを使ってサーバを起動・停止させる
7ではシステム管理系のツールが大幅に変更になっているので、手順を少し変えなければインストールできませんでした。
では、早速手順です。
目次
# epelリポジトリを追加
$yum -y install epel-release
$vi /etc/yum.repos.d/epel.repo
[epel]部分の「enabled=1」を「enabled=0」に変更して、標準では見に行かないようにする
# redis とnpmを追加
hubotはredisとnpmを使うので両方ともインストール
$yum install –enablerepo=epel npm redis
# redis起動
$ systemctl start redis
# redis 自動起動設定
$systemctl enable redis
# npmアップデート
手順としては不要かもしれないが、念のためアップデート
#npm update -g npm
# hubotに必要なnpmモジュールをインストール
$npm install -g coffee-script hubot
$npm install -g yo generator-hubot
$npm install hubot-slack –save
※hubot-slackをinstallをしないとadapterがないとエラーになりましたので、事前にインストール
参考エラーメッセージ:ERROR Cannot load adapter slack – Error: Cannot find module ‘hubot-slack
# slackのアカウントとチームを作成する
この作業はブラウザから作業します。
今回はhubotをslackbotとして使いますので、slackのアカウントとチームを用意します。
# 作成したチームにhubotを登録する
hubotはこちらより登録可能
https://gcecontrol.slack.com/apps/A0F7XDU93-hubot
画面に従って作成し、チームに登録します。途中TOKENが表示されるので控える
例)HUBOT_SLACK_TOKEN=xoxb-XXXX-XXXX
今回はkiller-machineという名前のhubotを作りました。
# サーバにhubotを作成する
この作業はサーバ側で行います。
まずサーバ側にhubotをセットアップします。
$mkdir hubot && cd hubot
$yo hubot
#起動スクリプトを書く
$vi run.sh
#!/bin/bash export HUBOT_SLACK_TOKEN=xoxb-XXXX-XXXX export HUBOT_SLACK_EXIT_ON_DISCONNECT=true cd `dirname $0` node_modules/.bin/hubot --adapter slack
# 応答用のcoffeeスクリプトを書く
vi example.coffee
module.exports = (robot) -> robot.hear /hello/, (msg) -> msg.send msg.random [ 'hello', 'what?' ]
$sh run.sh
# slackより動作確認
helloを打つと、what?と返してくれます。
# foreverをinstall
$npm install forever -g
# systemd用の起動コマンドを作成する
vi /etc/systemd/system/forever-hubot.service
[Unit] Description=run forever hubot After=network.target [Service] Type=simple RemainAfterExit=yes ExecStart=/home/app/hubot/run.sh User=app [Install] WantedBy=multi-user.target $systemctrl forever-hubot start $systemctl enable forever-hubot
デーモンリロード
$systemctl daemon-reload
開始
$systemctl start forever-hubot
自動起動設定
$systemctl enable forever-hubot
これでhubotが自動起動となる