EN
返回档案库

档案库 · 工作与做事的点子 · 运营决策 · 2011–2020

GitHub 2011–2020:Hubot 让聊天变成部署控制台

GitHub 打造了一个聊天机器人,用于发布代码、运行 CI 和监控错误;'ChatOps' 使部署变得透明、可审计,每个工程师都能参与。

GitHub

创意是什么把工具放进聊天室:一个机器人负责部署代码、运行 CI,并在错误激增时提醒最后部署者——每次操作都公开可见、可审计,面向所有人。伤筋动骨

当时的题目

By 2011 GitHub's small team ran infrastructure from Campfire chat, and their bot had grown 'bigger and messier'. They rewrote it from scratch and open-sourced it as Hubot — a bot that ships code, fronts the CI server and makes ops commands visible to the whole company.

它是怎么成立的

2011 年 GitHub 还是一家运营着巨大服务的小公司,团队日常在 Campfire 聊天。他们的机器人已'大到失控',于是他们从头重写并开源:Hubot,一个'好用得惊人的 Campfire 机器人',既能逗乐,又负责发布代码,还是 CI 服务器界面。

这一做法后来被称为 ChatOps:工程师在聊天中运行'/deploy my-feature',Hubot 处理认证、暂存和金丝雀发布。部署后如果异常激增,Hubot 会圈出最后部署者,附上内部异常面板 Haystack 的链接——'这种提醒的直接好处是隐式确定了责任人'。

到 2020 年,这一模式已成熟:GitHub 部署团队通过'一系列 Hubot 命令'发起部署,每周为 github.com 执行 120–150 次生产部署,单周合入超过 400 个拉取请求,对流程的信任程度足以让回滚保持在低位,开发者可以合完代码继续推进。

妙在哪

  • 它消除了'谁有权触碰生产环境'的瓶颈——任何工程师都能通过聊天部署,并且操作对整个公司可见。
  • 机器人让责任变得明确:错误激增时最后部署者会收到提醒,问题能迅速找到负责人,而不是等待分类。
  • 由于每条指令都在共享频道中执行,部署可审计、可教学——新工程师通过观摩聊天学会运维。
  • 开源 Hubot 将内部便利转化成了行业模式,普及了 ChatOps 这一概念。

做出来什么

Deployment at GitHub became a chat command anyone could run and everyone could see: the same number of weekly deploys now ships far more changes, rollbacks stayed low enough to build a 'culture of trust', and the term ChatOps spread across the industry as teams copied the pattern.

他们自己的页面Hubot on GitHub

可以借走的

当内部工具能降低行动的社会成本时,它就赢了:把运维放进聊天,让部署变得可见、可审计、可放心委派——界面变化改变了文化。

后来

ChatOps 被广泛复制,Hubot 变成了社区项目,支持 Slack、Discord 和 Teams 等平台。GitHub 的部署管线持续演进——IssueOps 和 GitHub Actions 后来都建立在相同理念之上,而其核心原则——让人们能在日常使用的工具中运行基础设施——依然是 GitHub 交付流程的核心。

资料来源

发现哪里写错了?告诉我们。

轮到你了

你刚读完一个点子。把你手上的题目说出来,看看谁接过同样的题。

免费账号 · 3 次免费提问 · 不用绑卡

相关案例