Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从流水线到生产线:解读腾讯敏捷研发核心驱动力

从流水线到生产线:解读腾讯敏捷研发核心驱动力

原创
作者头像
TAPD敏捷研发
发布于 2020-12-18 02:18:44
发布于 2020-12-18 02:18:44
1.5K1
举报
文章被收录于专栏:TAPDTAPD

腾讯始终秉承着敏捷迭代,小步快跑的理念,快速准确高质量的交付用户价值。腾讯是如何通过不断的演进来提升交付能力的?本文将为大家介绍腾讯DevOps的演进过程。

腾讯研发模式的两次变革

近几年,腾讯通过内部的开源协同策略,不断整合内部优秀的基础设施工具,形成了一整套完善的基础设施。在协作管理方面,有TAPD、企业微信、腾讯会议来支撑团队的协作沟通和项目管理;在测试管理方面,有WeTest,TEG智研等;代码方面有腾讯工蜂、持续集成上有腾讯CI、配置管理七彩石、统一的腾讯软件源、环境管理有TKE支撑业务上云……

随着这些基础设施的不断完善,腾讯的研发模式经历了两次比较大的变革。

第一次变革,是敏捷研发到DevOps流水线模式的演变。这一阶段,借助流水线工具,拉通从代码提交到持续集成,自动化测试,最后部署上线的整个过程,形成一条以代码为起点的持续交付流水线。

很多企业都在实践流水线模式。但是,这种研发模式从用户价值交付的角度上看,并未形成完整的研发闭环。需求管理、运营反馈 与 交付流水线 之间存在明显的断层, 需要依靠人工来做很多跨平台维护; 并没有触及研发过程中,人跟人、人跟工具的协作。特别在今年疫情背景下,主要都是通过线上进行沟通协作;DevOps流水线模式,已经无法满足快节奏高质量的交付和跟踪。

因此,腾讯发生了研发模式的第二次变革,即在坚持敏捷迭代和持续交付理念的基础上,基于敏捷化,数字化,一体化,智能化的思路,不断对研发模式进行探索。从“流水线模式”演变到了“生产线模式”。

如何理解生产线模式?生产线模式强调以下几点:

1. 以自动化一切为核心驱动力;

2. 拉通需求管理到运营反馈,形成研发全流程闭环;

3. 结合腾讯的安全能力,形成质量和安全红线;

4. 结合腾讯IM,群机器人等,探索智能化协作场景。

一、自动化一切

理解生产线模式,首先要理解“自动化一切”。

整个研发流程中各个环节涉及到的工具和平台都是很多的,只有平台之间的数据能够无障碍的快速流动,实现研发流程的自动化,才能切实提升,整个流程交付的效率。

针对自动化,TAPD团队抽象出了一套自动化引擎,以“事件触发 + 条件判断 + 动作执行”的编排模式,由事件触发来驱动自动化,打通内部各个工具,提升跨平台协作的效率。

具体是怎样的?如下图,把个工具都包装成了平台的一个对象,比如需求、史诗、代码、流水线、企业微信、WebHook,每个对象都有自己的触发事件、条件和动作,像创建需求、流转需求、执行流水线等等。任何平台都可以是事件的发起者和执行者,团队可以根据需要去配置编排这些任务,实现研发数据在研发流程中的自动流动,形成符合自己团队的交付生产线。

二、研发流程自动化

拿腾讯某个业务团队研发流程举例:

  • 需求在规划中时,产品对需求内容进行补充 和排期
  • 开发接到需求,开始编码时,将需求转到 实现中
  • 开发完成,代码合并成功之后,将需求转到自动测试
  • 负责集成的同学,再通过 CI 流水线的验证结果,将对应的需求单,都转到功能验收,移交给产品和功能测试同学手里
  • 产品和测试验收通过之后,再转到验收通过环节,等待运维同学的部署上线
  • 运维同学上线之后需要根据代码的发布范围,将对应的需求单流转到已上线状态

这个过程中有很多环节的需求单移交都是依赖人工的。甚至有部分环节是需要等待其他系统的处理结果,来决定是否移交。腾讯很多团队在实践中发现,这个操作过还经常会遗漏操作或者延迟,导致需求移交不及时。

研发流程自动化之后,实现中的环节:

  • 开发编码完之后,要向系统提交 MR之后,我们就可以进行配置
  • MR评审通过时,自动的去移交需求,这样开发就只需要关注编码和 MR的提起
  • 自动测试环节,配置需求单到达这个状态时,自动去触发流水线
  • CI流水线成功时,自动把单移交到功能验收环节
  • 验收通过后,对于不需要等发布班车的需求,配置自动触发发布部署流水线
  • 部署完成后,自动将需求单移交到已上线状态

这些自动移交的过程中,我们也可以配置自动给需求填写对应的处理人。配合企业微信邮件等通知,及时的知会到处理人。

整个流程中,只有必须的编码 / 功能验证环节,是需要人工参与介入的,其余过程都通过流程助手变成了自动化的过程。这就是自动化一切的作用,减少手工操作,消除不必要得浪费。同时,加速流程快速推进,提高研发效率,同时也保障度量的准确性。

三、DevOps&Sec

当研发生产线快速自动流动起来之后,如何更好的保障DevOps安全?

在公司新代码文化背景下,团队越来越强调将质量和安全前置,让安全尽早的参与到整个研发流程中。主要包括以下几个方面:

  1. 首先,根源上尽量防止有安全漏洞的代码合入到主干,发布上线,同时鼓励内部开源
  2. 此外,在流水线中增加代码安全扫描插件
  3. 设置质量和安全红线
  4. 自动对研发的代码进行代码度量,比如利用 codecc 和 codedog 做代码扫描,啄木鸟安全扫描
  5. 客户端加固,授信源管理,如果依赖有风险的库,会进行安全提醒
  6. 除此之外,安全也深入到整个DevOps环节中,会针对每个环节进行加固和优化:
  • 提前制定安全规范,做安全培训
  • 在编码阶段,提供腾讯的可信软件源,团队内加强代码 Review,开发库做安全扫描
  • 在编译阶段,流水线中也提供各种典型的插件,静态代码扫描,客户端安全加固,设置质量与安全红线
  • 在部署方面,统一使用 做过内核加固的 tlinux,对线上服务做一定的安全扫描,对运维访问操作全流程记录追溯等

DevOps & Sec - 工具链
DevOps & Sec - 工具链

四、DevOps&Chat

在自动化一切的想法之下,腾讯也在 DevOps 与聊天工具上进行思考和实践。

疫情期间,团队成员无法做到面对面沟通, IM 起到了关键作用。在沟通迭代、需求、缺陷时可以通过自动拉群进行讨论,同时需求、缺陷状态变更或者数据变更都能通过 IM 及时提醒;可以通过机器人定时发送统计报告,管理者也可以通过 IM 触发团队及工作。

IM 也在研发智能化方面进行了探索,如通过聊天内容进行缺陷和需求的创建,视图、进度、质量报表定时推送;在智能研发风险预警方面,可以定时推送延期需求提醒,遗留BUG统计提醒等;同时可以通过指令来操作一些工作,如运维相关工作的发布、查看机器监控等。

DevOps & Chat - IM
DevOps & Chat - IM

在疫情期间,团队主要通过线上会议来进行沟通,比如产品规划、IPM 会议、测试计划会议、每日站会、发布评审会议、验收和回顾会议,例如利用自动化任务平台设置定时发起每日站会,IPM 会议等等,Meeting 贯穿着整个 DevOps 研发全过程。

DevOps & Chat - Meeting
DevOps & Chat - Meeting

TAPD DevOps 研发总线的解决方案

为了更好的落地 DevOps 实践,腾讯敏捷研发平台提供了 DevOps 研发总线的解决方案。该解决方案的主要目的是为了打通项目管理和工程数据,提供一站式的研发数据池,实现交付全流程自动化,通过研发数据池提供丰富的研发效能度量,同时也支持标准化的 DevOps 工具集成。

更多关于DevOps 研发总线解决方案的具体实践就不在本文赘述,详情可以移步《腾讯 TAPD DevOps 开放生态最佳实践》学习。

本文整理自腾讯TEG DevOps系统架构师许树群于 Gdevops 2020 全球敏捷运维峰会上的主题分享。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
受教了
受教了
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
腾讯 TAPD DevOps 开放生态最佳实践
大家上午好,我是来自腾讯TEG的周仕林,今天主要跟大家分享的主题是腾讯TAPD DevOps开放生态最佳实践。我将从三方面做分享:
TAPD敏捷研发
2020/12/07
2.1K1
腾讯 TAPD DevOps 开放生态最佳实践
敏捷研发—前端DevOps流水线实践
Tech 导读 本文介绍了如何将DevOps理念应用于前端开发的实践指南。从前端开发的背景现状及问题分析入手,详细介绍了前端DevOps中的流水线设计、需求管理、代码构建、测试部署、性能检测等方面的实践方法和工具,并结合案例分析和实践建议,帮助读者深入理解和掌握前端DevOps的核心概念和实践技能。 01
京东技术
2023/09/21
9620
敏捷研发—前端DevOps流水线实践
流水线2.0驱动 CD / DevOps
前言 张乐:大家知道 DevOps 这两年提的特别多,非常火,我们希望从社区的角度 DevOps 不仅仅是概念的纬度,更关键是一个可以落地实施的纬度。我们觉得流水线是 DevOps 里面非常好的落地抓手和落地方式。 今天的分享,我们有两部分内容: 第一部分就是我们要做一个 DevOps 和持续交付流水线的现状调查报告。前一阵高效运维社区和 DevOps 时代社区,做的现状调查。世界范围内 Jenkins 已经非常火了,国内 Jenkins 持续交付方面做的怎么样?大家水平是什么样的?有什么样的趋势? 第二部
DevOps时代
2018/02/02
1.5K0
流水线2.0驱动 CD / DevOps
谈谈企业的持续交付流水线设计
有一天,业务人员急冲冲的跑过来,对你说生产上出现了一个严重BUG,必须要尽快修复。你听完问题描述后,胸有成竹坐定并迅速定位问题,随后改动了一行代码并提交,系统开始自动编译、各个环境自动化测试、发布上线。几分钟后,生产环境上该BUG已经被修复掉。 上面所提到的场景,这是不是很美妙?但是想必不少读者要忍不住要吐槽了,这太不实际了:新功能上线测试不要时间么?新增了功能肯定要做回归测试,这都需要一定的时间。况且怎么可以随便部署上线?还得通过预发演练、走发布审批流程。其实这些过程大家也都清楚,那么不妨从另一个角度思考
yuanyi928
2018/03/30
1.6K0
谈谈企业的持续交付流水线设计
基于容器和微服务的端到端持续交付流水线
本文编辑:白凡 今天我分享的主题是《基于容器和微服务的持续交付流水线》,单从标题来看,汇聚了今年来的几大热点词汇,像容器、微服务和持续交付流水线,很多人也在关注这些技术领域如何能够有机的整合起来,为业务价值带来贡献,这也是我们今天要探讨的内容。 今天的分享有三个方面: DevOps和持续交付 构建持续交付流水线 开源流水线演示分析 1. DevOps和持续交付 这张图是去年在上海的Jenkins用户大会上,Jenkins的创始人KK在他的主题演讲中分享的,意思是说软件正在吃掉整个世界。 无独有偶,之前微软
DevOps时代
2018/06/22
2K0
腾讯织云:DevOps流水线应用平台践行之路
持续交付是DevOps的核心工程实践,持续交付流水线驱动着DevOps的落地,昨天在云+峰会的开发者专场,腾讯跟大家揭开了DevOps流水线平台的神秘面纱。同时也让我们看看织云如何在其中高标准地实现持
DevOps时代
2018/02/02
1.2K0
腾讯织云:DevOps流水线应用平台践行之路
腾讯织云:DevOps 流水线应用平台践行之路
作者:梁定安,腾讯织云负责人,目前就职于腾讯社交网络运营部,任运维技术总监,开放运维联盟委员,腾讯云布道师,腾讯课堂运维讲师,EXIN DevOps Master讲师,凤凰项目沙盘教练,复旦大学客座讲师。 导语:8月23日,腾讯 云+未来峰会在北京盛大开幕。在开发者专场,腾讯织云负责人梁定安为大家解读了腾讯DevOps流水线的系统组成,以及如何在平台的实践中实现持续部署能力,帮助企业创造更大的价值。 前言 国家的“互联网+”战略开启了一个企业业务与互联网相结合的新业务形态,有越来越多的企业将自己的业务以
织云平台团队
2018/01/15
6.3K0
得物卓越研发效能之路:原则、方法与实践全景揭秘
在当今互联网技术日新月异和企业降本增效的时代,研发效能已经成为衡量一个团队或组织竞争力的关键指标。提升研发效能不仅能加速产品上市时间,还能提高产品质量,增强客户满意度,持续提升企业竞争力。本文旨在介绍得物如何从原则、方法到成功实践,系统性提升研发效能的过程和经验。期待与行业专家深入探讨和交流,共同推动研发效能实践的新突破。
得物技术
2024/07/02
5090
得物卓越研发效能之路:原则、方法与实践全景揭秘
腾讯专有云研发过程首次披露
2018年11月3日,DevOps国际峰会于深圳圣淘沙酒店举行,上午的腾讯研发效能专场,开场前已座无虚席。由腾讯工蜂Git、腾讯TAPD、腾讯专有云三位产品/技术负责人带来各自产品在DevOps实践上的分享,这也是腾讯专有云首次披露研发过程。
腾讯技术工程官方号
2018/11/08
9.5K0
程序员怎么用TAPD | 这些必备技能,让你的研发更高效!
在日常工作中,TAPD与流水线、代码仓库是研发团队高频使用的工具。对开发、测试同学来说,如果能实现平台间的信息打通,可以减少平台间的跳转切换,有效提升工作的效率。 TAPD第三方服务集成能力,支持与代码仓库、流水线进行了深度打通,力求为开发团队提供流畅高效的使用体验。我们梳理了一份攻略,掌握下面几个小技能,让TAPD与代码仓库、流水线一起,成为研发团队的得力助手,让开发工作提质增效! 代码紧密关联,研发管理更高效 TAPD与腾讯工蜂、Gitlab等代码仓库进行了深度打通,管理员需要在 「公司管理 -
TAPD敏捷研发
2021/08/12
2.1K0
腾讯会议后台研发效能提升之路
---- 本文摘录于 《软件研发效能权威指南》 作者:周桂明 腾讯会议高级架构,腾讯云与智慧产业事业群 DevOps 与研发效能架构师 从字面上看,研发效能追求的是“效率”,但是脱离目标谈效率是没有意义的。从研发的角度看,软件的意义就是为用户和客户交付他们的所需,从而产生价值。因此,研发效能就是更快地为软件的用户或客户交付价值。这里的价值包括几个方面: 有效性:让业务交付的服务和客户的需求及市场更加匹配,即对不对的问题。 质量:提升业务的安全性和可靠性、用户体验等,即好不好的问题。 效率:提升研发运维和
腾讯云 CODING
2022/11/18
3.1K0
腾讯会议后台研发效能提升之路
腾讯会议后台研发效能提升之路
从字面上看,研发效能追求的是“效率”,但是脱离目标谈效率是没有意义的。从研发的角度看,软件的意义就是交付用户和客户的所需,从而产生价值。因此,研发效能就是更快地为软件的用户或客户交付价值。这里的价值包括以下几个方面。 有效性:让业务交付的服务与客户的需求及市场更加匹配,即对不对的问题。 质量:提升业务的安全性和可靠性、用户体验等,即好不好的问题。 效率:提升研发运维和变更的效率,即快不快的问题。 2021 年,腾讯 CSIG 技术委员会成立了研发效能提升组,基于腾讯云的技术标准化,以CODING 为底座,建
博文视点Broadview
2023/04/04
1.7K0
腾讯会议后台研发效能提升之路
你以为搞个流水线每天跑,团队就在使用CI/CD实践了?
在实践中,很多团队对于DevOps 流水线没有很透彻的理解,要不就创建一大堆流水线,要不就一个流水线通吃。实际上,流水线的设计和写代码一样,需要基于“业务场景”进行一定的设计编排,特别是很多通过“开源工具”搭建的流水线,更需要如此(商业的一体化平台大部分已经把设计思想融入自己产品里了)。
DevOps在路上
2023/06/10
1.4K0
你以为搞个流水线每天跑,团队就在使用CI/CD实践了?
没有高效的部署流水线,何谈DevOps
什么是流水线 流水线(Pipeline)源自福特,是工业化生产的基石,福特汽车采用流水线生产之后,组装车辆从12.5小时缩短至93分钟,效率提升8倍,这也是福特称霸一时的根源之一。 那流水线能驱动软件
DevOps时代
2018/02/02
1.6K0
没有高效的部署流水线,何谈DevOps
首度揭秘:腾讯敏捷研发和极速交付破局之道
 导读  腾讯到底是怎么进行敏捷研发和极速产品交付的呢? 腾讯研发管理部高级产品经理、敏捷教练张贺,受邀在DevOpsDays深圳站中进行了相关分享。 他从“道、法、术、器”四个方面揭秘了腾讯当年面对研发方面挑战时的破局之道,并结合实践介绍了腾讯的三种研发模型及典型案例。 快来一起看看吧~ 大家好! 首先做一下自我介绍,我叫张贺,来自腾讯研发管理部,目前主要负责腾讯敏捷研发体系和敏捷研发平台TAPD的建设工作,同时我个人也是一名敏捷教练,指导了腾讯内部很多业务团队的敏捷实施,也帮助了许多腾讯合作企业完成了
TAPD敏捷研发
2018/12/18
1.7K0
首度揭秘:腾讯敏捷研发和极速交付破局之道
案例说|腾讯会议依托TAPD强大的开放能力,保障产品高质量交付!
作为支撑亿级用户的高频协作产品,「腾讯会议」通过深度整合TAPD的智能化、开放平台与插件能力,构建起“TAPD+代码托管+智研流水线+度量”研发效能体系,实现跨平台协同提效、流程自动化与质量强管控。让我们一起来看看腾讯会议如何基于TAPD重构研发效能体系。
TAPD敏捷研发
2025/02/25
1770
案例说|腾讯会议依托TAPD强大的开放能力,保障产品高质量交付!
道法术器— DevOps 端到端部署流水线 V2.0
DevOps独立顾问、DevOps时代联合创始人张乐为我们带来DevOps 道法术器及端到端部署流水线V2.0的分享。 VUCA新常态 在移动互联网时代和即将到来的人工智能时代,我们所处的商业格局和企
IT大咖说
2018/04/04
1.4K0
道法术器— DevOps 端到端部署流水线 V2.0
交付效率提升40%,珍爱网基于微服务的DevOps落地指南
2015-2016年,珍爱线下门店已新增覆盖城市9个,与此同时,CRM系统大小故障却发生了数十起... ...
腾讯技术工程官方号
2019/05/16
8030
交付效率提升40%,珍爱网基于微服务的DevOps落地指南
腾讯:痛点驱动的 DevOps 实践
讲师 | 谭用 编辑 | 黄晓轩 讲师简介 谭用 腾讯TEG研发管理部技术运营负责人 负责腾讯企业级研发管理平台建设与技术运营相关工作;十年运维领域工作经验; DevOps Master;近期专注于容
DevOps时代
2018/04/04
2.7K0
腾讯:痛点驱动的 DevOps 实践
蓝鲸DevOps深度解析系列(2):蓝盾流水线初体验
前面一篇文章《蓝鲸DevOps深度解析系列(1):蓝盾平台总览》,我们总览了蓝鲸DevOps平台的背景、应用场景、特点和能力;
嘉为蓝鲸
2019/03/15
8.2K0
蓝鲸DevOps深度解析系列(2):蓝盾流水线初体验
推荐阅读
相关推荐
腾讯 TAPD DevOps 开放生态最佳实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档