hubot+slack(hubot部分)
hubot+slack安装及配置
slack安装配置见hubot+slack(slack部分)
hubot安装配置见本博客
hubot安装及配置
一二个教程可用于hubot和slack的关联和搭建上,第一二个教程最好放在一起看,某一个的命令没有效果可以看看另外一边是怎么操作的,如果不行看看是不是我踩的坑,应该就能解决问题。
第三个教程全是在讲slack的,在看完第一二个之后可以看第三个,重点在于如何编写脚本
教程一:用 slack 和 hubot 搭建运维机器人【ubuntu】
教程二: Hubot + Slack 入门
教程三:打造自己的聊天机器人Hubot
最后在放一个 hubot官方文档 网址
hubot教程一、二中遇到的问题及解决办法
教程很不错,需要说的几点(踩的坑):
1. hubot目录问题
第一个教程把hubot放在了root目录,没有这个必要,随便新建个文件夹就行。
2. 让npm下载看得到进度
有些npm下载速度会很慢,以至于以为没有在下载,可以使用npm config set loglevel=http
命令显示npm的下载进度。
3.hubot和slack的关联–互相关联,token的使用
hubot和slack的互相关联:既需要hubot下载slack的load adapter:sudo npm install -g hubot-slack --save
,也需要在启动hubot客户端的时候在下面的“APPs”里面下载hubot(注意:这是需要记住这个API TOKEN,后面会用到,如下:
4.heroku卸载建议
虽然教程中的heroku的uninstall只是建议卸载,但是最好卸载了,不然后面可能会报错warning:Heroku alive exclusion 。而且记得在uninstall之后,要删除external-scripts.json文件中的hubot-heroku-keepalive。然后重新启动bin/hubot
5. 8080端口被占用的解决办法
8080端口被占用,不影响程序运行,如果还是不想看到,可以使用下面方法:
- ERROR Error: listen EADDRINUSE: address already in use 0.0.0.0:8080
报错解决办法:①第一种方法:先查看8080端口的是被那个程序占用
lsof -i tcp:8080![在这里插入图片描述](https://img-blog.csdnimg.cn/2019041600165261.png) 然后根据自己的PID执行
kill -9 PID如
kill -9 9471`。②第二种方法:改变EXPRESS_PORT or PORT环境变量,把8080改成其他端口即可。(其实不删除不影响程序运行,如果没有成功运行肯定是因为其他问题。) - 在./bin/hubot前面加入PORT=?来修改端口号,如修改为8888:
PORT=8888 ./bin/hubot
6. 让hubot保持在线
教程使用的方法是tmux,但是教程给的不清不楚,其实只要了解tmux的使用方法即可。
通常本地连接远程linux服务器以后我们需要服务器一直执行程序,即使我们本地电脑关机或者断开连接,此时我们需要用到开后台神器tmux。
- 安装tmux。
使用yum安装:yum install tmux
。yum安装有可能会出现问题。
apt-get安装:直接使用sudo apt-get install tmux
- 运行tmux。新建一个后台运行程序,命名为hubot:
tmux new -s hubot
- 保持后台:在tmux中执行
env HUBOT_SLACK_TOKEN=xoxb-你的token ./bin/hubot --adapter slack
- 退出tmux:ctrl+b然后再按d可以退出tmux。
- 关闭会话(想要关闭tmux后台工作时):tmux kill-session -t demo #关闭demo会话
这时候可以关闭终端,在slack和hubot对话,hubot依旧在运行:
教程三出现的问题及解决办法
- greet.coffee文件的正确内容如下,教程三中没有换行,容易造成误会。
module.exports = (robot) ->robot.hear /greet/i, (res) ->res.send "Hello,My Master"
- weather.coffee文件的正确内容如下,同上。
# Description:
# Tells the weather
#
# Configuration:
# HUBOT_WEATHER_API_URL - Optional openweathermap.org API endpoint to use
#
# Commands:
# weather in <location> - Tells about the weather in given location
#
# Author:
# Cornerprocess.env.HUBOT_WEATHER_API_URL ||= 'https://openweathermap.org/data/2.5/weather?units=imperial&appid=[your appid]&q='module.exports = (robot) ->robot.hear /weather in (\w+)/i, (msg) ->city = msg.match[1]url = process.env.HUBOT_WEATHER_API_URL + citymsg.robot.http(url).get() (err, res, body) ->data = JSON.parse(body)weather = [ "#{Math.round(data.main.temp)} degrees" ]for w in data.weatherweather.push w.descriptionmsg.send "It's #{weather.join(', ')} in #{data.name}, #{data.sys.country}"
参考链接
Linux服务器后台继续执行程序tmux方法
打造自己的聊天机器人Hubot
用 slack 和 hubot 搭建你自己的运维机器人
hubot+slack(hubot部分)相关推荐
- hubot+slack(slack部分)
hubot+slack安装及配置 slack安装配置见本博客 hubot安装配置见hubot+slack(hubot部分) slack安装与配置 下载slack slack官网下载slack linu ...
- ChatOps的利器:Hubot
引言 近几年,DevOps 在各个企业用的风生水起,也衍生出了很多的其他的实践和理念,比如AIOps,DevSecOps, TestOps, BizOps 当然还有本文的主角 ChatOps大哥了. ...
- 提升 DevOps 效率,试试 ChatOps 吧!
2019独角兽企业重金招聘Python工程师标准>>> 本文翻译自文章 To Boost DevOps, Try ChatOps,文中用简单易懂的方式介绍了 ChatOps 的发展和 ...
- 最近三年收藏网站,做一次云备份
这些 URL 还是要留存下来的好,万一阿里云宕机了,还能有个地方恢复. 备份脚本: <?php$db = new SQLite3('fav.db');$results = $db->que ...
- .NET Apache Spark做基于商品推荐系统如此简单
一..NET Apache Spark大数据基础学习 分析数据基础 数据准备: 1,https://api.github.com/repos/tosch/ruote-kit,1,ruote-kit,R ...
- h5的fetch方法_扣丁学堂HTML5分享h5中的fetch方法解读
扣丁学堂HTML5分享h5中的fetch方法解读 2018-07-06 14:43:10 725浏览 本篇文章扣丁学堂 Fetch概念: fetch身为H5中的一个新对象,他的诞生,是为了取代ajax ...
- 基于bearychat的chatops
参考文章: http://www.361way.com/bearychat-hubot/5663.html 需要用到nodejs .bearychat注册账号.bearychat的操作,可以参考我上面 ...
- 如何用 BearyChat 将 ChatOps 带到你的日常工作中
现在工程师的人力成本越来越高,靠工程师手动通过 SSH 或类似的第三方工具来远程部署服务的方式,枯燥乏味,容易出错,部署时间长.仅仅为了部署服务,工程师就免不了加班,而且整个过程都要守候在工作机器旁边 ...
- 笔记:python3编写的仿hubot的聊天机器人Chattie
简要翻译 Chattie,原文来自github,有删改. Chattie是受Hubot启发的Python机器人框架. 安装chattie 安装命令: pip3 install chattie 创建一个 ...
最新文章
- python yield理解_对Python中Yield的理解
- 【怎样写代码】实现对象的复用 -- 享元模式(二):解决方案
- 刷脸支付问题多,亚马逊选择刷「手掌」,在无人超市正式商用
- 素数与量子物理的结合能带来解决黎曼猜想的新可能吗?
- 数据结构与算法之字符凭拼接最低字典序和数据流中取中位数
- 回溯算法解决八皇后_4皇后问题和使用回溯算法的解决方案
- 微信小程序云开发之云函数创建
- 【zookeeper】zookeeper 启动 源码解读
- ZooKeeper 数据模型
- Apache2.4.x与Apache2.2.x的一些区别
- jquery的DOM节点操作(替换元素节点)
- Protobuf学习 - 入门(转)
- 【渝粤题库】广东开放大学 大学生创业基础 形成性考核
- 2018年最好的8款杀毒软件
- 毕业设计任务书参考地址
- Inside Real-Time Linux
- TF_REPEATED_DATA ignoring data with redundant timestamp for frame left_wheel at time
- 关于运行软件报错Address already in use
- 微信v3native支付设置的结束时间处理办法
- 3*3 数字拼图(去除无解的随机组合)
热门文章
- Java程序员必看经典书籍,助你早日打通任督二脉,Java菜鸟教程视频
- JavaEE实现微博项目(含注册、登录、发表微博、评论微博、关注博主、阅读排行榜、评论排行榜等功能)
- 一个设想:什么是真正的云,及利用树莓派和cloudwall打造你的真正云中心
- linux配置pcie无线网卡,【Linux c】读写pcie配置空间(安装lib库)
- mdx和mdd格式的词典解析Android JNI方式实现
- (一)通用定时器的相关介绍
- 如何设计一个监控平台(上篇)
- OPTIONALLY ENCLOSED BY '`'不可删除引号的情况
- Linux系统安装Anaconda3保姆级教程
- 【前端单元测试入门03】Sinon