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端口被占用,不影响程序运行,如果还是不想看到,可以使用下面方法:

  1. 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 PIDkill -9 9471`。②第二种方法:改变EXPRESS_PORT or PORT环境变量,把8080改成其他端口即可。(其实不删除不影响程序运行,如果没有成功运行肯定是因为其他问题。)
  2. 在./bin/hubot前面加入PORT=?来修改端口号,如修改为8888:PORT=8888 ./bin/hubot

6. 让hubot保持在线

教程使用的方法是tmux,但是教程给的不清不楚,其实只要了解tmux的使用方法即可。
通常本地连接远程linux服务器以后我们需要服务器一直执行程序,即使我们本地电脑关机或者断开连接,此时我们需要用到开后台神器tmux。

  1. 安装tmux。
    使用yum安装:yum install tmux。yum安装有可能会出现问题。
    apt-get安装:直接使用sudo apt-get install tmux
  2. 运行tmux。新建一个后台运行程序,命名为hubot:tmux new -s hubot
  3. 保持后台:在tmux中执行env HUBOT_SLACK_TOKEN=xoxb-你的token ./bin/hubot --adapter slack
  4. 退出tmux:ctrl+b然后再按d可以退出tmux。
  5. 关闭会话(想要关闭tmux后台工作时):tmux kill-session -t demo #关闭demo会话
    这时候可以关闭终端,在slack和hubot对话,hubot依旧在运行:

教程三出现的问题及解决办法

  1. greet.coffee文件的正确内容如下,教程三中没有换行,容易造成误会。
module.exports = (robot) ->robot.hear /greet/i, (res) ->res.send "Hello,My Master"
  1. 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部分)相关推荐

  1. hubot+slack(slack部分)

    hubot+slack安装及配置 slack安装配置见本博客 hubot安装配置见hubot+slack(hubot部分) slack安装与配置 下载slack slack官网下载slack linu ...

  2. ChatOps的利器:Hubot

    引言 近几年,DevOps 在各个企业用的风生水起,也衍生出了很多的其他的实践和理念,比如AIOps,DevSecOps, TestOps, BizOps 当然还有本文的主角 ChatOps大哥了. ...

  3. 提升 DevOps 效率,试试 ChatOps 吧!

    2019独角兽企业重金招聘Python工程师标准>>> 本文翻译自文章 To Boost DevOps, Try ChatOps,文中用简单易懂的方式介绍了 ChatOps 的发展和 ...

  4. 最近三年收藏网站,做一次云备份

    这些 URL 还是要留存下来的好,万一阿里云宕机了,还能有个地方恢复. 备份脚本: <?php$db = new SQLite3('fav.db');$results = $db->que ...

  5. .NET Apache Spark做基于商品推荐系统如此简单

    一..NET Apache Spark大数据基础学习 分析数据基础 数据准备: 1,https://api.github.com/repos/tosch/ruote-kit,1,ruote-kit,R ...

  6. h5的fetch方法_扣丁学堂HTML5分享h5中的fetch方法解读

    扣丁学堂HTML5分享h5中的fetch方法解读 2018-07-06 14:43:10 725浏览 本篇文章扣丁学堂 Fetch概念: fetch身为H5中的一个新对象,他的诞生,是为了取代ajax ...

  7. 基于bearychat的chatops

    参考文章: http://www.361way.com/bearychat-hubot/5663.html 需要用到nodejs .bearychat注册账号.bearychat的操作,可以参考我上面 ...

  8. 如何用 BearyChat 将 ChatOps 带到你的日常工作中

    现在工程师的人力成本越来越高,靠工程师手动通过 SSH 或类似的第三方工具来远程部署服务的方式,枯燥乏味,容易出错,部署时间长.仅仅为了部署服务,工程师就免不了加班,而且整个过程都要守候在工作机器旁边 ...

  9. 笔记:python3编写的仿hubot的聊天机器人Chattie

    简要翻译 Chattie,原文来自github,有删改. Chattie是受Hubot启发的Python机器人框架. 安装chattie 安装命令: pip3 install chattie 创建一个 ...

最新文章

  1. python yield理解_对Python中Yield的理解
  2. 【怎样写代码】实现对象的复用 -- 享元模式(二):解决方案
  3. 刷脸支付问题多,亚马逊选择刷「手掌」,在无人超市正式商用
  4. 素数与量子物理的结合能带来解决黎曼猜想的新可能吗?
  5. 数据结构与算法之字符凭拼接最低字典序和数据流中取中位数
  6. 回溯算法解决八皇后_4皇后问题和使用回溯算法的解决方案
  7. 微信小程序云开发之云函数创建
  8. 【zookeeper】zookeeper 启动 源码解读
  9. ZooKeeper 数据模型
  10. Apache2.4.x与Apache2.2.x的一些区别
  11. jquery的DOM节点操作(替换元素节点)
  12. Protobuf学习 - 入门(转)
  13. 【渝粤题库】广东开放大学 大学生创业基础 形成性考核
  14. 2018年最好的8款杀毒软件
  15. 毕业设计任务书参考地址
  16. Inside Real-Time Linux
  17. TF_REPEATED_DATA ignoring data with redundant timestamp for frame left_wheel at time
  18. 关于运行软件报错Address already in use
  19. 微信v3native支付设置的结束时间处理办法
  20. 3*3 数字拼图(去除无解的随机组合)

热门文章

  1. Java程序员必看经典书籍,助你早日打通任督二脉,Java菜鸟教程视频
  2. JavaEE实现微博项目(含注册、登录、发表微博、评论微博、关注博主、阅读排行榜、评论排行榜等功能)
  3. 一个设想:什么是真正的云,及利用树莓派和cloudwall打造你的真正云中心
  4. linux配置pcie无线网卡,【Linux c】读写pcie配置空间(安装lib库)
  5. mdx和mdd格式的词典解析Android JNI方式实现
  6. (一)通用定时器的相关介绍
  7. 如何设计一个监控平台(上篇)
  8. OPTIONALLY ENCLOSED BY '`'不可删除引号的情况
  9. Linux系统安装Anaconda3保姆级教程
  10. 【前端单元测试入门03】Sinon