ChatOps 如何帮助你更好地开发 DevOps

本文做者:Rania ZYANE安全

原文连接:《How ChatOps Can Help You DevOps Better》服务器

编译:一熊翻译组 Mason网络

当人们听到 DevOps,他们一般会联系到「自动化」、「团队工做」与许多「工具」。DevOps 是关于 CAMS 的一种自动化、度量与分享的文化。本文的目的是展现 ChatOps 是如何将 CAMS 引入平常实践来推进 DevOps 的发展。框架

什么是 DevOps?

DevOps 是一系列实践,它推崇软件工程师和 IT 及基础设施运营部门之间的合做与交流,从而缩短产品上市时间。DevOps 主要的目标是将快速部署特性,当检测出问题时尽快解决它,而不影响其余服务。工具

对于实现 DevOps 的成熟度,下面有几条准则是你须要知道的:性能

  • 持续集成:持续的集成是在指开发环境集成,构建以及测试代码的实践。它须要开发小组将代码集成进一个共享的知识库(版本管理系统)。检测代码并运行预先部署的测试(不要求代码部署到服务器)。在适用的状况下,下一步就是编译代码并打包进 Areifacts(JAR,Docker IMage,gem)而后把它推送至 Artifact Repository Masnager。这个 Areifacts 被部署后一个不可变容器便会进入测试环境(质检)。一旦部署,部署后的开发测试(功能、集成和性能测试)就会被执行。
  • 持续交付:持续交付是持续集成的延伸。其目标是对系统发布可作更改,并须要一我的或商业规则来决定生产的最后助力应该什么时候出现。
  • 持续部署:持续部署是持续交付的进阶演变。它是不在任何人介入下所有投入生产的实践。

除了以上那些已经讨论过的实践以外。今天,大多数 DevOps 团队都在拥抱协做消息平台来进行相互之间的沟通,以及经过在线聊天得到相关系统的实时更新。这大致就是 ChatOps 背后的精神。学习

什么是 ChatOps?

将工具直接置入会话中 ——杰斯•纽兰德,GitHub测试

合做与交流是一种力量,它可让团队一块儿工做学习以更好地进行生产。今天,它正以指数级逐年递增。插件

ChatOps(聊天与操做的融合)是一种新兴的方式,用来解决团队与 DevOps 各类工具/平台之间的整合。经过将工具引入对话中以实现聊天驱动开发。机器人是你能够在团队中发送请求与获得回复的即时成员。翻译

ChatOps 是一个将人、工具、过程与自动化在全透明的流程下链接起来的模型。它有助于在同一窗口内进行协做与管路控制。

今天,DevOps 工具链为软件开发、网络环境、服务器管理、测试、监控的提供了许多工具。在一个窗口内协做与管控 DevOps 管路帮助了开发者团队以一种更高效、敏捷的方式完成工做。

ChatOps 三个主要构成:

协做工具:这是团队与相关者在他们与他们工做系统之间链接的客户端。有如下几个沟通平台:

  • Slack:领先的团队沟通平台,每日活跃用户累计量超过 400 万。一样也是首批将机器人接入系统的平台之一。

  • BearyChat:率先将 ChatOps 理念引入中国的智能化工做平台,目前已集成 7 大类近百款的第三方服务工具,并支持自定义机器人。

  • HipChat:一个针对团队与企业的团队沟通,文件分享,视频聊天以及屏幕共享的平台。

机器人:它是 ChatOps 方法论的核心。机器人来自协做工具与 DevOps 工具。机器人会接受团队成员发送的请求,经过执行命令设定,回复来自集成系统的信息。

  • Hubot,一款 ChatOps 领先的机器人工具。它是 GitHub在 2013 年针对自动化聊天室制做的有价值的开源机器人。经过脚本,Hubot 变得实用并功能强大。它主要帮你将绝大多数与操做相关的任务自动化。

  • Lita 是一个机器人框架,专供于用 Ruby 语言写出的公司聊天室。它深受 Hubot 的启发与影响。这一框架能够被用来构建操做任务的自动化,而且它拥有一系列十分全面的插件列表,这意味着它能够集成进不少沟通平台,好比:Slack,Facebook Messenger 等等。

  • Cog,由 Operable制造,属于另外一种帮助 DevOps 工做流自动化的机器人框架。

  • ErrBot 是一个机器人守护进程,它能够生成沟通平台与 DevOps 工具中的机器人。它是用 Python 编写的,目标是经过命令轻松地将一个 API 提供给聊天平台。

系统集成:ChatOps 中第三个关键元素。简单来讲它是更具生产力的 DevOps 工具。好比说:

  • 事项追踪:JIRA,OTRS,TeamForge…

  • 版本控制系统:Github,Gitlab,Bitbucket…

  • 基础设施即代码(IaC):Terraform,Vagrant,Packer, Swarm,Kubernetes,Docker,AWS CloudFormation …

  • 配置管理工具:Ansible, Salt,Chef,Puppet …

  • 持续集成服务:Jenkins,Travis CI, Bamboo …

  • 监控:Grafana,Kibana,Prometheus …

今时今日 ChatOps 正在不断运做。世界上一些团队已经将他们的沟通平台链接至他们的构建系统,以便在持续集成服务器上获取通知,查询以及执行流程。固然,对质检团队,支持团队以及其余团队也是一样适用的。

沟通驱动合做已经再也不是新潮了,但经过 ChatOps,协做的以往形式与最新技术调和一致。咱们并不惊奇于这一组合改变了员工的工做方式。其应该让人们常常思考研发软件,以便让这种协同更具贡献性,更易于接受与更安全。

相关文章
相关标签/搜索