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。 继续阅读以了解如何使用您的聊天服务。 您可以自动化您的部署,这可以节省每个人的时间并减少协调错误 (还支持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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395497.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

位运算-查找数组中唯一成对的数

基础实例一:使用位运算判断数的奇偶性 实例代码: public class Test {public static void main(String[] args) {System.out.println(isOdd(49));System.out.println(isOdd(50));}// 与运算public static boolean isOdd(int i){return (i & 1) ! 0;…

Docker实践:Cannot connect to the Docker daemon.

Docker实践:Cannot connect to the Docker daemon.查看docker daemon是否在运行 [rootlocalhost openec]# ps aux | grep dockerroot 3030 0.0 0.0 112656 984 pts/0 S 16:20 0:00 grep --colorauto docker启动docker[rootlocalhost openec]# ser…

linux虚拟终端时间短,使用Screen创建虚拟终端避免Linux远程断线

维护Linux的ssh工具在使用中,一旦遇到网络中断,则当前的shell就会自动关闭当前的工作进度就会丢失,这对于远程升级等比较耗费时间的工作是非常不利的对于远程调适代码也是很不可靠不安全的为此,可以使用screen这个工具来解决这个问…

中国第一软件开发_我第一次开发企业软件中学到的知识

中国第一软件开发In this article, I’ll share ten lessons I learned from my first project as a self-taught software developer. I was working for a consulting company at the time, and my official title was Software Engineer. The project I worked on was a web…

react-native-Cocoapods-Swift-Project

https://reactnative.cn/docs/integration-with-existing-apps/ 1、创建一个xcode工程,single View就行,项目语言选择swift,oc的直接生成就行不用这么麻烦。 2、把跟目录上创建 node的package.json,执行命令 npm init npm install react-nati…

用shell或者python写出各种图形

首先是shell等边三角形[roothxy my_script]# sh ff.sh num:6************************* *********** [roothxy my_script]# cat ff.sh #!/bin/bash ######################################################################### # File Name: ff.sh # Author: huxianyong # mai…

cfdiv2/c/找规律

题目连接 £&#xff1a;若n<4&#xff0c;NO&#xff1b; £&#xff1a;若n4,特判&#xff0c;n5&#xff0c;特判。 £&#xff1a;若n>6,用2-4组成24&#xff0c;1和5和6组成零&#xff0c;即可。 #include <set> #include <map> #includ…

linux lcd显示流程,求助 armlinux中实现lcd显示

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/* for (bufIdx0; bufIdx < NUM_DISPLAY_BUFS-1; bufIdx) {fbp[bufIdx1] fbp[bufIdx] displaySize;}*/for(bufIdx0;bufIdx{buf(unsigned int *)fbp;for (i0; i < displaySize / sizeof(unsigned int); i) {buf[i] UYVY_BL…

android引入开源库_为好目录引入开源:通过代码帮助公益组织

android引入开源库by Michael D. Johnson迈克尔约翰逊(Michael D.Johnson) 为好目录引入开源&#xff1a;通过代码帮助公益组织 (Introducing the Open Source for Good Directory: Help Nonprofits with Code) A few months ago, we asked 20,000 people why they were learn…

第二阶段站立会议08

站立会议内容&#xff1a; 大家准备继续将代码进行融合&#xff0c;进行测试对一些功能进行优化。 1、会议照片&#xff1a; 2、任务展板&#xff1a; 3、燃尽图&#xff1a; 转载于:https://www.cnblogs.com/smcoder/p/7002539.html

ionic view 视图

ionic view 方法 $ionicView.loaded视图已经被加载了。这事件只发生一次当视图被创建并添加到Dom中。当跳出页面并且被缓存了的话&#xff0c;再次访问这个页面时这个时间将不会被激活。Loaded事件是个好方式让你为这个视图设置你的代码&#xff1b; 然而&#xff0c;他并不是…

ios开发 mvp实践_实践中开发人员的工作流程-我们如何在30天内建立​​MVP

ios开发 mvp实践by Lna Faure莱娜福雷(LnaFaure) 实践中开发人员的工作流程-我们如何在30天内建立​​MVP (The developer’s workflow in practice — how we built our MVP in 30 days) As a web developer, I often get to start projects from scratch and make decisions…

linux智能电压表设计与实现,毕业论文 智能数字电压表设计.doc

毕业论文毕业论文智能数字电压表设计智能数字电压表设计- PAGE I -摘要随着微电子技术和计算机技术的迅速发展&#xff0c;特别是单片机的出现和发展&#xff0c;使传统的电子测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化&#xff0c;形成一种新一代的测量仪…

git——学习笔记(三)分支管理

一、创建、合并分支 每次提交&#xff0c;git都往后走一格&#xff0c;串成一跳时间线&#xff0c;head指向的是分支&#xff0c;分支指向提交。master是主分支&#xff0c;dev是另一条分支&#xff0c;分支就像指针一样&#xff0c;合并、删除分支时&#xff0c;修改的都是指针…

Redis 它是什么?它用来做什么?它的优势与短板如何?

阅读目的&#xff1a; 对什么是内存型数据库有概念性的认知。?Redis 是什么&#xff1f; 通常而言目前的数据库分类有几种&#xff0c;包括 SQL/NSQL,&#xff0c;关系数据库&#xff0c;键值数据库等等 等&#xff0c;分类的标准也不以&#xff0c;Redis本质上也是一种键值…

阿里巴巴是如何打通 CMDB,实现就近访问的?

CMDB在企业中&#xff0c;一般用于存放与机器设备、应用、服务等相关的元数据。当企业的机器及应用达到一定规模后就需要这样一个系统来存储和管理它们的元数据。有一些广泛使用的属性&#xff0c;例如机器的IP、主机名、机房、应用、region等&#xff0c;这些数据一般会在机器…

我们分析了成千上万的编程访谈。 这就是我们学到的东西。

by Aline Lerner通过艾琳勒纳(Aline Lerner) 我们分析了成千上万的编程访谈。 这就是我们学到的东西。 (We analyzed thousands of coding interviews. Here’s what we learned.) Note: I wrote most of the words in this post, but the legendary Dave Holtz did the heavy…

Java 9 新功能之 HTTP2 和 REPL

对Java 9的炒作将不再局限于模块化&#xff08;modularity&#xff09;&#xff0c;Java 9正在搜罗大量额外的功能模块&#xff0c;这些功能模块正作为Java增强提案&#xff08;JEP&#xff09;提交&#xff0c;并在OpenJDK (Java SE的参考实现项目&#xff09;中实现。 在这篇…

c语言编译程序首要工作,c语言试卷

c语言试卷一、选择题(每小题1分&#xff0c;共40分)。(以下A、B、C、D四个选项中只有一个是正确的。)1&#xff0e;一个C语言程序是由()。A&#xff0e;一个主程序和若干子程序组成B&#xff0e;函数C&#xff0e;若干过程组成D&#xff0e;若干子程序组成2&#xff0e;C语言源…

Mac通过wifi连接 Android设备

公司用的全是mac开发&#xff0c;但是全是type-C接口&#xff0c;每次背电脑回家啊&#xff0c;还得带个数据线转换器…… 想着回来&#xff0c;直接通过Wi-Fi连接手机就好&#xff0c;发现完全忘了之前套路&#xff0c;现在赶紧记下一波&#xff0c;保证包教包会&#xff01; …