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 {バージョン番号}