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。 继续阅读以了解如何使用您的聊天服务。 您可以自动化您的部署,这可以节省每个人的时间并减少协调错误 (还支持Campfire , Hipchat和Flowdock )。 我们已经在团队中的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例如Fabric , Capistrano , Heroku或任何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作为后台任务运行部署作业。 有几种支持的方法来创建部署作业,例如:

  • Fabric

  • Capistrano

    Capistrano

  • Heroku

    Heroku

  • Any Ruby rescue task任何Ruby救援任务
  • Lita: Written in Ruby

    丽塔 :用Ruby写

  • Err: Written in Python

    错误 :用Python编写

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.

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

我们公司的用例 (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)

  • Issue 6: Build Tools · Issue Travis CI for iOS

    问题6:生成工具·发布iOS的Travis CI

关于部署 (About deployment)

  • Github Developer — Deployments

    Github开发人员-部署

  • Remote multi-server automation tool — Capistrano

    远程多服务器自动化工具— Capistrano

  • Python tool for streamlining deployment- Fabric

    用于简化部署的Python工具-Fabric

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

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

  1. Android动态部署六:如何从插件apk中启动BroadcastReceiver和ContentProvider

    转载请注明出处:http://blog.csdn.net/ximsfei/article/details/51083464 github地址:https://github.com/ximsfei/Dy ...

  2. azkaban的部署过程中遇到的一些坑(部署篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.azkaban源码下载 maven下载地址3.0.0版本:https://gitee.com/wenhaijin_830_ ...

  3. 币须知道 |首批19家企业入驻杭州区块链产业园,纳斯达克:股市中仅5%的 IT供应商部署区块链...

    您的 转发 和吐槽是我们前进的动力 今日要闻 监管要闻 ·加拿大:投资行业监管组织成立工作组,致力于资本市场区块链应用监管 ·韩国对数字货币交易所非收款账户加强监管 ·日本监管收紧让数字货币承压 行业 ...

  4. FPGA 20个例程篇:18.SD卡存放音频WAV播放(中)

    第七章 实战项目提升,完善简历 18.SD卡存放音频WAV播放(中) 如图1所示是WM8731中11个寄存器功能说明概况图,我们需要对照手册,再去深入了解WM8731中的11个寄存器,怎么去配置这些寄 ...

  5. IDEA中安装并使用JRebel热部署插件

    文章目录 作者简介 引言 导航 热门专栏推荐 概述 安装JRebel 注册JRebel 配置JRebel 最后 小结 导航 热门专栏推荐 作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软 ...

  6. [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer...

    前一篇文章说了些有关IIS的,这篇则是说SQLServer的,相比IIS来说,SQLServer的配置过程中问题就少了许多,而且都比较有针对性,下面开始记录: 注:由于实际项目的开发都是基于SQL20 ...

  7. docker部署python web应用_在 Docker 中运行一个 Python 的 Web 应用

    几周前, Elastic Beanstalk声明在AWS云中配置和管理Docker容器.在本文中,我们通过一个简单的注册表单页面应用去理解Docker部署过程,该表单使用Elastic Beansta ...

  8. Linux中把文件夹打成war包,SpringBoot中maven项目打成war包部署在liunx服务器上的方法...

    说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动 ...

  9. 【项目经验】如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置

    如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置: url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicod ...

最新文章

  1. l#039;oracle 酒,【金钟庄园副牌干红葡萄酒Carillon de L#039;angelus】价格_年份_评分 - 酒窝网官网...
  2. 加载pdf_Java 插入附件到PDF文档
  3. javascript对象创建的五种方式
  4. 计算机视觉招聘_INDEMIND|SLAM、计算机视觉、深度学习算法招聘(社招实习)
  5. android slidingdrawer 方向,如何使Android SlidingDrawer从左侧滑出?
  6. ssd训练自己数据集
  7. 获取线程号 gettid()【原创】
  8. nacos 配置动态刷新_使用 Spring Cloud Alibaba Nacos Config 作为配置中心
  9. Configure Log Shipping
  10. 如何直接操作SVN将分支代码合并到主干
  11. 打开计算机的方法有哪些,dmg文件怎么打开 常见打开方法有哪些
  12. 原生js删除html,javascript删除一个html元素节点的方法
  13. spring boot启动报错: The APR based Apache Tomcat Native library which allows optimal performance
  14. 喜欢吃鱼的朋友一定要存哦
  15. jQuery 效果- 隐藏和显示
  16. 2.5.10 DLPar动态分区(资源迁移)
  17. hackerrank - Basic Join - Challenges
  18. 【TencentOS tiny】 超详细的TencentOS tiny移植到STM32F103全教程
  19. 十五分钟上手SoFlu全自动软件工程平台
  20. 博科5100交换机别名方式配置方法

热门文章

  1. springboot 返回json字符串格式化问题
  2. centos 7新机使用前操作
  3. Docker制作dotnet core控制台程序镜像
  4. 教辅的组成(网络流果题 洛谷P1231)
  5. android实用代码
  6. ubuntu安装环境软件全文档
  7. EF里查看/修改实体的当前值、原始值和数据库值以及重写SaveChanges方法记录实体状态...
  8. Linux 禁止sendmail 自启动
  9. DHCP|什么是DHCP|DHCP介绍
  10. office漏洞利用--获取shell