一、安裝nodejs包管理工具npmnode
apt-get install npm ------ubuntu 中剛安裝的npm版本比較低,須要進行升級
npm -g install npm@3.10.7 //升級到指定版本
或
npm -g install npm //升級到最新版本
二、安裝nodejsredis
npm install -g n n stable //安裝nodejs的最新穩定版本,也能夠安裝指定版本: n v6.6.0
三、安裝hubotshell
npm install -g hubot coffee-script yo generator-hubot
四、建立配置hubot目錄npm
mkdir /root/hubot
cd /root/hubot
yo hubot
若是使用root用戶安裝,則須要對如下目錄進行受權
chmod g+rwx /root /root/.config /root/.config/configstore
chown -R chown ubuntu /root/.config/configstore
chmod g+rwx /root/hubot chmod -R g+rwx /root/.npm
yo hubot // 若是是root用戶安裝,這步以前須要調整文件和目錄權限.這步安裝時若報錯,能夠嘗試屢次安裝的操做。
安裝hubot,默認會帶上heroku和redis,若是用不到能夠卸載掉:
npm uninstall hubot-heroku-keepalive --save
在目錄下的文件中把有關和的兩行刪掉就好了,不然總是會報幾個警告。
而後,再把刪掉,目前咱們暫時還用不到它:hubotexternal-scripts.jsonherokuredishubot-scripts.jsonrm -f hubot-scripts.json
五、啓動hubot服務json
如今能夠正式啓動hubot了: ./bin/hubot 試着執行幾個測試命令: hmbot> help usage: history exit, \q - close shell and exit help, \? - print this usage clear, \c - clear the terminal screen hmbot> ping
六、鏈接hubot和slackubuntu
1、首先須要在slack 上安裝好hubot的插件,它會自動生成一個token,把這個token記錄下來,輸入: env HUBOT_SLACK_TOKEN=xoxb-你的token ./bin/hubot --adapter slack
註釋:這時候就啓動起來,等待接收命令了。可是因爲缺省加入的是的頻道,若是你改掉了頻道名字,或者刪掉了這個頻道的話,你須要從新邀請小機器人進入一個新的頻道,不然無法對話。
二、如今能夠在slack客戶端,經過下面的命令和hubot進行對話:
hubot helphubothubotslack#general
七、讓hubot保持在線bash
可是若是這時候咱們關掉ssh的話,小機器人就掉線了,怎麼辦呢?能夠用nohup的方法讓它留在後臺,也能夠用tmux: yum install tmux tmux new -s hubot 在tmux裏執行上面的命令,而後按ctrl+b,而後再按d退出。若是再想進去,能夠執行:
tmux a -t hubot
八、讓hubot執行shell腳本ssh
咱們須要小機器人來執行一些shell
腳本,因此須要安裝:工具
npm install hubot-script-shellcmd cp -R node_modules/hubot-script-shellcmd/bash ./
修改一下external-scripts.json
,添加上如下模塊:hubot-script-shellcmd
。若是到此爲止,你操做的步驟和我基本同樣的話,你的external-scripts.json
應該長的像這個樣子:測試
[ "hubot-diagnostics", "hubot-help", "hubot-google-images", "hubot-google-translate", "hubot-pugme", "hubot-maps", "hubot-rules", "hubot-shipit", "hubot-script-shellcmd" ]
測試shell腳本:
配置完畢上面的東東,這裏須要重啓下hubot服務:
nohup ./bin/hubot --adapter slack & #執行啓動腳本時,千萬不要進入bin目錄,要在bin目錄的外面執行啓動腳本,不然啓動失敗。
而後在slack客戶端經過以下命令,對hubot說話:
@hmbot run ping #//hmbot 爲hubot的申請名稱,run 能夠經過HUBOT_SHELLCMD_KEYWORD配置。
附錄hubot腳本:
#!/bin/sh set -e npm install export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH" export HUBOT_SLACK_TOKEN="token" #slack上面申請的token export HUBOT_SHELLCMD_KEYWORD="run" #修改命令虎符 exec node_modules/.bin/hubot --name "hmbot" "$@"