fpga中的slack_是否想减少部署过程的恐怖程度? 在Slack中构建ChatOps。

fpga中的slack

by Rick Mak

麦瑞克(Rick Mak)

是否想减少部署过程的恐怖程度? 在Slack中构建ChatOps。 (Want to make the deployment process less scary? Build ChatOps in Slack.)

In a company that makes mobile and web products, developers shouldn’t be the only ones who can launch the latest version of an app. You need proper testing beyond getting colleagues to give ad hoc feedback by clicking through the app. At Oursky, our QA built an automatic testing pipeline. But testing needs to be coordinated and the report needs to go to the relevant people. The QA team needs to know when to test the latest version of the app. The PM needs to check the latest progress. And the designer needs to support and fine-tune the details. While building command line tools is the obvious go-to for developers, we wanted to find a tool that everyone in the company uses. We created our deployment ChatOp on Slack. Read on to see how you can do it with your chat service. You can automate your deployment, which saves everyone time and reduces coordination errors (Campfire, Hipchat, and Flowdock are also supported). We’ve been using ChatOps in 15+ simultaneous projects within our team.

在生产移动和Web产品的公司中,开发人员不应该是唯一能够启动应用程序最新版本的人。 您不但需要适当的测试,还需要使同事通过单击应用程序提供临时反馈。 在Oursky ,我们的质量检查人员建立了自动测试管道 。 但是测试需要协调,报告需要交给相关人员。 质量检查团队需要知道何时测试该应用程序的最新版本。 PM需要检查最新进度。 设计人员需要支持和微调细节。 尽管开发人员显然很喜欢构建命令行工具,但我们希望找到公司中每个人都可以使用的工具。 我们在Slack上创建了部署ChatOp。 继续阅读以了解如何使用您的聊天服务。 您可以自动化您的部署,这可以节省每个人的时间并减少协调错误 (还支持CampfireHipchatFlowdock )。 我们已经在团队中的15个以上同步项目中使用了ChatOps。

ChatOps is a great way to make the deployment procedure less complex, less black-boxed, and less scary. I adapted GitHub’s use of ChatOps for our deployment with Slack. GitHub’s open source chatbot (Hubot) does automating deployment, graphing, monitoring, provisioning, tweeting, and many other things. GitHub even created MySQL database back-up jobs so they can do important operations without leaving the chatroom with a set of instructions.

ChatOps是使部署过程变得更简单,更少黑框和更少恐惧的好方法。 我在Slack的部署中调整了GitHub对ChatOps的使用。 GitHub的开源聊天机器人( Hubot )确实实现了部署,制图,监视,配置,推文和许多其他事情的自动化。 GitHub甚至创建了MySQL数据库备份作业,这样他们就可以进行重要的操作,而无需离开聊天室并获得一组指令。

ChatOps部署的概况 (The big picture of ChatOps deployment)

ChatOps simplifies deployment with automation: it removes manual coordination errors, and allows everyone in a project to jump in. It also encourages open communication so team members don’t have to interrupt each other for updates or documentation. They can access information whenever they need it.

ChatOps通过自动化简化了部署:它消除了手动协调错误,并允许项目中的每个人参与其中。它还鼓励开放式交流,因此团队成员不必为了更新或文档而互相打扰。 他们可以在需要时访问信息。

So how does it work and how do you set it up?

那么它是如何工作的以及如何设置呢?

This graph shows how deployment interactions would work via Github.

该图显示了如何通过Github进行部署交互。

Our company implemented a similar version using open Slack channels for all our operations. Each project has its own channel. We introduced two Slack botsk, Chima and Faseng, to assist the deployment process. (Chima and Faseng are the names of our resident office cats.) The core idea is summarized in this sentence:

我们公司使用开放的Slack渠道为我们的所有业务实施了类似的版本。 每个项目都有自己的渠道。 我们引入了两个Slack僵尸程序ChimaFaseng来协助部署过程。 ( Chima和Faseng是我们常驻办公室猫的名字。) 核心思想总结如下:

Tell Chima(CEO), to make Faseng(CTO) deploy.

Tell Chima (CEO), to make Faseng (CTO) deploy.

机器人的角色:创建和执行 (Roles of the bots: Creating & executing)

For each project, we set up respective deployment jobs with Faseng. It’s not only easily to deploy, but deployment notifications make the progress and status of the project clear.

对于每个项目,我们与Faseng一起设置各自的部署作业。 它不仅易于部署,而且部署通知使项目的进度和状态变得清晰。

创建部署作业(聊天命令机器人) (Creating the deployment job (chat command bot))

Chima is a github/hubot which helps to understand our commands from Slack. For example chima deploy is a deployment command. We have to configure these settings for each project:

Chima是一个github / hubot ,可帮助您从Slack了解我们的命令。 例如, chima deploy是一个部署命令。 我们必须为每个项目配置以下设置:

  • Specify a deployment provider such as Fabric, Capistrano, Heroku, or any Ruby Rescue task

    指定部署provider例如FabricCapistranoHeroku或任何Ruby Rescue任务

  • Whether to support auto_merge for the target branch for deployment

    是否为部署的目标分支支持auto_merge

  • The repository name of the project

    项目的repository名称

  • Available environments of the deployment

    部署的可用环境
  • Only channel members in the allowed_rooms list can create the deployment

    只有allowed_rooms列表中的频道成员才能创建展开

We put this configuration in the app.json file. Below is an example of how you can configure for project-x:

我们将此配置放在app.json文件中。 以下是如何为project-x配置的示例:

{  "project-x": {    "provider": "fabric",    "auto_merge": false,    "repository": "oursky/project-x",    "environments": ["live", "edge"],    "allowed_rooms": ["deployment"]  }}

执行部署作业(部署机器人) (Executing the deployment job (deployment bot))

Faseng is an atmos/heaven program. When it receives GitHub webhooks, it will run deployment jobs as background tasks with Resque. There are several supported ways to create deployment jobs, such as:

Faseng是一个atmos / heaven程序。 收到GitHub Webhooks后,它将与Resque作为后台任务运行部署作业。 有几种支持的方法来创建部署作业,例如:

Deployment task creation and completion will send out notifications into the integrated chat services. Campfire, Hipchat, SlackHQ, and Flowdock can receive deployment status event notifications.

部署任务的创建和完成会将通知发送到集成的聊天服务中。 CampfireHipchatSlackHQFlowdock可以接收部署状态事件通知。

我们公司的用例 (Use cases in our company)

1.开发人员使用它来部署到暂存环境 (1. Developers use it to deploy to the staging environment)

Although we planned to use ChatOps to ease the difficulties for non-developers, it also benefits me as a developer. For example, when I want to deploy trellhub/edge to pandawork, I can just type chima deploy trelhub/edge to pandawork and then brew some coffee while I wait. To deploy using a chat command, I have to set up the environment settings at Chima. To make sure the deployment is authorized, I have also provided Faseng the access to the pandawork server.

尽管我们计划使用ChatOps缓解非开发人员的困难,但作为开发人员,这也使我受益。 例如,当我想将trellhub/edge部署到pandawork,我可以键入chima deploy trelhub/edge to pandawork ,然后在等待时冲泡咖啡。 要使用聊天命令进行部署,我必须在Chima处设置环境设置。 为了确保部署得到授权,我还向Faseng提供了对pandawork服务器的访问权限。

2.质量检查人员还可以将最新版本部署到边缘 (2. QA can also deploy the latest version to the edge)

After each milestone, the QA team is responsible for performing functional tests, usability tests, and performance tests for the pre-deliverable software. In this example, our QA engineer, Joyz, wants to ensure that the latest version of modmod-web is ready on the edge environment before she runs the tests. She can trigger the deployment and receive notifications as well.

在每个里程碑之后,质量保证团队将负责对可交付软件的功能测试,可用性测试和性能测试。 在此示例中,我们的质量检查工程师Joyz希望确保在运行测试之前在边缘环境中准备好最新版本的modmod-web 。 她可以触发部署并接收通知。

3.检查当前作业 (3. Checking up the current jobs)

To see the current building jobs, everyone who is relevant to the project can talk to Chima and check on the Travis building progress. This one-time initial ChatOps setup has helped our team manage our projects in the following ways:

要查看当前的建筑工作,与该项目相关的每个人都可以与Chima交谈并检查Travis的建筑进度。 一次性的ChatOps初始设置已通过以下方式帮助我们的团队管理我们的项目:

  • Enables less technical members on the team to contribute to the development process.

    使团队中较少的技术人员为开发过程做出贡献。
  • Notifications are pushed to the relevant project channel, which means that every relevant team member receives and can access status updates.

    通知被推送到相关的项目通道,这意味着每个相关的团队成员都可以接收并可以访问状态更新。

We are working towards doing more via ChatOps , such as backing up servers and performing automated tests. Look out for future updates or share your tips with us! We’d love to hear from you.

我们正在努力通过ChatOps进行更多工作,例如备份服务器和执行自动化测试 。 寻找未来的更新或与我们分享您的提示! 我们很乐意听取您的意见。

进一步阅读 (Further reading)

关于持续集成 (About continuous integration)
关于部署 (About deployment)

Footnote: Now, we’ve moved to GitHub trigger deploy.

脚注:现在,我们已移至GitHub触发器部署。

Building an app? Our free developer tools and open source backend will make your job easier.

建立应用程式? 我们免费的开发人员工具开源后端将使您的工作更加轻松。

Liked what you read? Give me some claps so more people see this article! Thanks!

喜欢您阅读的内容吗? 给我一些鼓掌,让更多的人看到这篇文章! 谢谢!

翻译自: https://www.freecodecamp.org/news/want-to-make-the-deployment-process-less-scary-build-chatops-in-slack-b2accc72e2a9/

fpga中的slack

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值