hubot安裝
?安裝npm
yum install -y npm?
要運(yùn)行自己的Hubot进陡,需要通過生成器生成,首先安裝generator-hubot
npm install -g yo generator-hubot?
生成自己的hubot
mkdir myhubot
cd myhubot
yo hubot?
如果是用root安裝的話坠陈,這個(gè)時(shí)候可能會(huì)遇到很多權(quán)限上的錯(cuò)誤梁厉,主要原因是它需要對(duì)于組有讀寫權(quán)限,所以:
chmod -R 777 /root/.config
chmod -R 777 /root/.npm/_locks
chmod -R 777 /root/.npm/_cacache?
簡(jiǎn)單起見刽射,這里打開了所有權(quán)限听隐。
重新 yo hubot
安裝過程中會(huì)問你安裝什么樣的adapter补鼻,手工輸入slack。
缺省安裝的hubot雅任,會(huì)帶上heroku和redis辽幌,如果用不到的話,可以卸載掉:
npm uninstall hubot-heroku-keepalive --save
在hubot目錄下的external-scripts.json文件中把有關(guān)heroku和redis的兩行刪掉就行了椿访,否則老是會(huì)報(bào)幾個(gè)警告乌企。
然后,再把hubot-scripts.json刪掉成玫,目前我們暫時(shí)還用不到它:
rm -f hubot-scripts.json
OK加酵,開始使用吧
./bin/hubot
執(zhí)行:
myhubot help
myhubot ping
連接hubot與slack
在slack上安裝好hubot的插件,它會(huì)自動(dòng)生成一個(gè)token哭当,把這個(gè)token記下來
在hubot目錄下輸入:
HUBOT_SLACK_TOKEN=你的token ./bin/hubot --adapter slack
如果沒有報(bào)錯(cuò)的話猪腕,就可以看到Apps下面有我們建立的myhubot,這時(shí)候hubot就啟動(dòng)起來钦勘,等待接收命令了陋葡。但是由于hubot缺省加入的是slack的#general頻道,如果你改掉了頻道名字彻采,或者刪掉了這個(gè)頻道的話腐缤,你需要重新邀請(qǐng)小機(jī)器人進(jìn)入一個(gè)新的頻道,否則沒法對(duì)話肛响。
現(xiàn)在你可以在slack的客戶端和小機(jī)器人對(duì)話了岭粤,可嘗試輸入命令:
time
myhubot pug me
讓hubot執(zhí)行shell腳本
要讓機(jī)器人執(zhí)行shell腳本,我們需要安裝:
npm install hubot-script-shellcmd
cp -R node_modules/hubot-script-shellcmd/bash ./?
修改一下external-scripts.json特笋,添加上以下模塊:hubot-script-shellcmd剃浇。到此為止,你的external-scripts.json應(yīng)該長(zhǎng)的像這個(gè)樣子:
接下來,
cd bash/handlers
這里面的helloworld就是個(gè)例子虎囚,沒什么用角塑,可以刪掉:
rm -f helloworld
把update改造成如下這樣的:
#!/bin/bashcd /your/pathgit pullecho "successfully updated!"exit 0
OK,現(xiàn)在重啟一下小機(jī)器人淘讥,在slack端輸入:
myhubot shellcmd update
常用腳本使用操作示例
檢查當(dāng)前CPU使用情況
在bash/handlers文件夾下新建一個(gè)文件圃伶,名字就叫比如說cpu,內(nèi)容如下:
#!/bin/bash
top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }'
exit 0
然后适揉,你每次只需要在slack里執(zhí)行:
myhubot shellcmd cpu
這樣就能知道你的服務(wù)器當(dāng)前cpu使用率了,再也不用去服務(wù)器端執(zhí)行top命令煤惩,也不用安裝任何系統(tǒng)監(jiān)控軟件嫉嘀,然后打開瀏覽器看結(jié)果。是不是很方便呢魄揉?當(dāng)然類似這樣的腳本你還可以寫很多剪侮,就不一一列舉了。
---