Edited at

hubot環境構築手順

More than 1 year has passed since last update.

MacOSX EI Capitan, CentOS7で構築した。


各環境の準備


nvmのインストール

% wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

% nvm install node
% nvm use node


nvmのバージョンアップ

% cd ~/.nvm && git pull origin master && git checkout `git describe --abbrev=0 --tags`


Node.jsのインストール

% nvm ls-remote

% nvm install 7.1


Hubotのインストール

% npm install -g hubot coffee-script


Hubotの雛形を作成

https://github.com/github/hubot/blob/master/docs/index.md

を参考にプロジェクトの雛形を作成する。

% npm install -g yo generator-hubot

% mkdir myhubot
% cd myhubot
% yo hubot
適宜質問に答えていく。
途中のBot adapterには「slack」と入力する。


Hubotの起動

% bin/hubot

myhubot> ping
myhubot> myhubot ping
myhubot> PONG


デバッグできるように起動する

bin/hubotの中身を見て以下のような感じ

% coffee --nodejs --debug node_modules/.bin/hubot --name “{botの名前}”


Hubotを本番環境で実行する


foreverをインストール

% npm install -g forever


foreverコマンドの使い方


起動

% forever start app.js


停止

% forever stop app.js


再起動

% forever restart app.js


foreverで実行しているリスト

% forever list

info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] ioGt /usr/bin/node app.js 39066 39068 /root/.forever/ioGt.log 0:0:0:13.174


ログ

% forever logs

info: Logs for running Forever processes
data: script logfile
data: [0] app.js /root/.forever/ioGt.log


設定確認

% forever config

data: {
data: root: '/root/.forever',
data: pidPath: '/root/.forever/pids',
data: sockPath: '/root/.forever/sock',
data: loglength: 100,
data: logstream: false,
data: columns: [
data: 'uid',
data: 'command',
data: 'script',
data: 'forever',
data: 'pid',
data: 'id',
data: 'logfile',
data: 'uptime'
data: ]
data: }


nvmについてその他コマンド(メモ)

インストール済みバージョンの確認



% nvm ls

バージョンの切り替え



% nvm use {バージョン番号}

デフォルトバージョンの指定



% nvm alias default {バージョン番号}