chenzhx 2019-06-26
ChatOps 是一个新概念,对于在业界来说,更为人所熟知的是 DevOps。ChatOps 到底是什么?又如何将它进行落地应用?本次我们为大家带来了 ChatOps 的发展历史与行业应用,力求让大家能够在最短的时间内了解这一全新工作方式。
ChatOps 的理念由 DevOps 延伸而来,又结合了 AI(人工智能)落地,可以说是人工智能和新型工作理念结合的产物。它是一种新型智能工作方式,帮助团队利用 ChatBot 机器人使成员和各项辅助工具连接在一起,以沟通驱动的方式完成工作。同时解决人与人、人与工具、工具与工具之间的信息孤岛问题,从而带来更高的工作效率和更好的协作体验。
2013 年,GitHub 在其内部最早开始推行 ChatOps,希望能以聊天的方式更方便更快速地去完成 DevOps 承载的工作。
ChatOps 以聊天室(沟通平台)为中心,通过一系列的机器人去对接后台的各种服务,工作人员只需在聊天窗口中与机器人对话,即可与后台服务进行交互,整个工作的展开就像是吩咐一个智能助手那样简单自然。
GitHub 团队内部实现的 ChatOps, 与一个叫作 Hubot 的机器人框架密切相关,Hubot 提供很多聊天机器人所需要的基础设施,借助 Hubot 框架能比较方便地和自己编写的功能或自己的系统对接。目前,Hubot 已经发展出了较好的生态圈,有很多开源插件可以借用。
ChatOps 站在巨人的肩膀上发展,也为工作带来了显而易见的好处:
光说不练假把式,理论不经过实践是站不住脚的。所以,对于这种由 DevOps 衍生而来的方式最好的验证方式是在开发团队上进行应用。作为国内将 ChatOps 模式落地的先行者,让我们来看看倍洽是怎样为移动开发团队带来新一代便捷的工作体验。譬如,从他们自己的移动开发团队日常工具选型与工作流搭建开始。
倍洽移动开发组通常会根据实际的使用场景在自己的倍洽团队上创建不同的讨论组,实现信息的按主题分流和收集。例如,创建相关「Bug 收集」组用来收集各移动端日常产生的报错信息、「问题跟踪」组用来追踪管理各种问题的处理进展、「资讯收集」组用来订阅最新的技术动态、「代码开发」和「交互设计」用组来跟进产品开发动态、「测试上线」组用来发布产品测试信息和收集测试反馈、「评论收集」组用来监控自己产品和竞品在各个应用商店中的舆情、「产品优化」组则用来汇总查看一些用户的反馈建议等等。
具体的工作流程:
1.通常,一个版本上线后,我们会用 Crashlytics 来收集移动端的崩溃日志,或使用 Bugly、BugHD、听云等服务来收集崩溃和 Bug 信息。在倍洽中直接启用这些工具和服务对应的机器人,不仅能够在无需来回切换工具界面的情况下实时查收消息,客观上还在倍洽中汇总备份了信息,使其更具有可回溯性,便于我们以后根据日期来回顾当时所出现的问题,更好地进行版本质量管理。
如上图所示,在实际工作中,我们将上述机器人同步而来的消息按照客户端分类,分别推送到「Bug收集-安卓」、「Bug收集-iOS」、「Bug收集-WP」三个讨论组中。利用讨论组的拆分做到信息的分类收集,让数据更加整齐,便于梳理。不同客户端的开发工程师只需要关注相应的讨论组,即可及时掌握与自己密切相关的客户端动态,而不会被其它弱相关信息干扰。
2.在版本上线以后,如果遇到了比较严重的质量问题,如闪退等,倍洽移动端团队会利用 Crashlytics + Trello + 倍洽(BearyChat) 的组合完成对这个问题的质量追踪。具体的工作流程是:利用 Crashlytics 内置的与项目管理工具 Trello 相关联的特性,Crashlytics 在监控到质量问题时,自动为这个问题在 Trello 上创建一个任务卡,并通过 Trello 机器人实时向倍洽相应讨论组中同步该任务的进度。
我们会根据严重性对问题进行区分,并将相应信息归类入不同的讨论组中。例如,上述 Trello 机器人同步的消息会被归入到「严重问题跟踪解决」讨论组中,同时,相关工程师跟进问题后对该任务卡进行的操作信息也会通过 Trello 机器人实时推送到这个组中,方便其它同事了解该问题的进展,保证了整个团队信息同步的及时性,便于日常协作。
3.我们创建了「代码开发」这个讨论组来保证移动团队内部开发进度的实时同步。当然,这个讨论组在 Bug 修复工作中也十分有用,例如,大家可以在这个讨论组中实时查看谁正在处理什么 Bug 、修复到了什么阶段,很好地避免了重复劳动和有问题没人管的尴尬情况。另外,我们十分推荐使用 Hubot 机器人连接 GitHub,完成配置后,就可以直接在倍洽上通过对 Hubot 发送指令来完成查看和创建任务,十分方便。
4.我们使用 fir.im 来管理内部测试版本的发布。在倍洽上建立相应的讨论组并完成 fir.im 机器人的配置后,就能够方便地看到每个版本的上传信息,便于进行版本管理和质量控制。
5.另外,为了建设一个学习型的团队,我们非常重视日常的资讯获取。我们配置了一些 RSS 机器人用于收集行业信息,如 Android Studio 的版本更新,ARKit 官方论坛的最新内容等,保证团队成员能够实时获取行业最新动态。
6.另外,为了建设一个学习型的团队,我们非常重视日常的资讯获取。我们配置了一些 RSS 机器人用于收集行业信息,如 Android Studio 的版本更新,ARKit 官方论坛的最新内容等,保证团队成员能够实时获取行业最新动态。
倍洽一直以「面向未来的工作方式」为愿景服务于效能团队,通过将 ChatOps 模式落地以打通日常工作流,实现真正的一站式工作。越来越多的企业与团队开始选择倍洽来帮助提升工作运转效率,打破信息孤岛,解决一直以来协同度低下的难题。我们也将继续积极引进、整合国际先进理念与服务,为企业和团队提供更高效的工作消息处理方式。