转载国外
最近在硅谷有影响力的媒体如Hacker News、Reddit和各种集会上开始流行一种新的DevOps方法——ChatOps(聊天运营)。
ChatOps是诞生于GitHub的一种基于会话驱动的协作开发方法,过去团队之间的通讯和开发操作是两层皮,导致各种不透明和低效率。ChatOps将开发工具带入开发者聊天室,通过定制的插件和脚本,一个聊天机器人能够执行聊天中输入的各种命令,实现在聊天平台上的团队协作开发自动化,把团队沟通和执行统一整合到一个可视化更高的聊天环境中,“聊着天就把事情办了”。
目前流行的ChatOps聊天机器人主要有Hubot(GitHub的bot,用CoffeeScript和Node.js开发)、Lita(用Ruby开发)和Err(用Python开发)三种,都是开源软件,而且可以整合到开发团队在工作中经常会使用一些聊天工具例如HipChat、Slack、Flowdock和Campfire等。
ChatOps的优点不言而喻,首先是能大大提高团队沟通和协作的成效。无论是代码的部署还是安全事件的响应,抑或团队成员的消息通知,聊天机器人都能够通过插件或脚本实时执行执行团队成员在会话中输入的每一行命令。换句话说,ChatOps把过去团队成员在各自工具中输入命令的这个黑匣子过程前端化、透明化了。团队每个成员都能随时了解其他成员的一举一动,打造真正的无死角透明团队。
ChatOps另外一个不言而喻的好处是非常有利于新人的培养。显然,能够直观看到团队的微观运作,对于刚入职的新手来说,比任何培训的效果都更好。
ChatOps甚至也能给IT之外的部门带来重要价值,通过一个本地集中化的聊天工具,销售、营销和财务部门也能够直观看到企业IT基础架构的建设和运作情况,什么时候开始部署代码,哪些人负责哪些系统都是一目了然,很多时候能省去各种通知和沟通成本。
如何部署ChatOps?
下面给大家介绍几个部署ChatOps的几个注意事项。首先你需要选择一个合适的聊天机器人bot程序,Lita、Hubot和Err都能满足团队工作流的需要。不同的机器人bot拥有不同的插件,开发语言也从Ruby、Node到Python不一而足,团队可以根据自己的实际情况去选择。
Lita、Hubot和Err如今都已经拥有大量脚本和插件可用,下面给出一些资源链接:
Lita插件
Hubot脚本(GitHub用来调查MySQL查询迟滞的原因)
初次尝试ChatOps可以试试lita-dig——一个快速DNS记录查询工具
总的来说,虽然ChatOps已经有了大量功能强大的工具、插件等资源,但是对于初次尝试ChatOps的团队来说,还是建议循序渐进、迭代优化的过程,在聊天室中多尝试一些bot脚本,找到最合适的。
有一点可以确信的是,团队越多地通过聊天机器人写代码和执行命令,整个团队的效率就会越高。开发团队实施ChatOps成功,也会迅速影响传播到前端和移动等团队,最后整个企业,包括技术和非技术部门都会孕育出一种更高效率的可视化开发文化。