DevOps 实战笔记
石雪峰
京东商城工程效率专家
37393 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 41 讲
DevOps 实战笔记
15
15
1.0x
00:00/00:00
登录|注册

24 | 持续交付平台:现代流水线必备的十大特征(下)

数据聚合采集的重要性
流水线的可视化
质量门禁的功能设计
内建质量的理念
自动化生成平台关联的原子代码
插件机制
定义通用的数据结构
标准的原子数据结构
动静分离的设计方法
事件触发的重要性
多种触发方式
多条流水线覆盖不同的环节
特性十:数据聚合采集
特性九:内建质量门禁
特性八:快速接入
特性七:动静分离配置化
特性六:流程可控
特性五:持续交付
特性四:持续集成
特性三:可视化
特性二:原子化
特性一:流程可编排
本次总结
上次总结
持续交付平台:现代流水线必备的十大特征

该思维导图由 AI 生成,仅供参考

你好,我是石雪峰。今天,我来接着跟你聊聊现代流水线必备的十大特性的下半部分,分别是流程可控、动静分离配置化、快速接入、内建质量门禁和数据采集聚合。

特性六:流程可控

在上一讲中,我提到过,流水线是覆盖软件交付端到端完整过程的平台,也就是说,流水线的主要作用是驱动软件交付过程的效率提升和状态可视化
在线下交流的时候,我发现,不少同学对这个概念的理解都存在着一些误区,他们觉得需要建设一条大而全的流水线,在这条流水线上完成软件交付的所有过程。
其实,流水线是要覆盖端到端的流程,但这并不是说,一定要有一条流水线跑通从代码提交开始到软件发布为止的全流程。实际上,在企业中,往往是多条流水线覆盖不同的环节,比如开发阶段流水线、集成阶段流水线,以及部署阶段流水线。这些流水线一起覆盖了整个软件交付流程。
这就体现了流水线的流程可控性,流水线可以为了满足不同阶段的业务目标而存在,并且每条流水线上实现的功能都不相同。为了达到这个目的,流水线需要支持多种触发方式,比如定时触发、手动触发、事件触发等。其中,事件触发就是实现持续集成的一个非常重要的能力
以 Gitlab 为例,你可以在代码仓库中添加 Webhook,Webhook 的地址就是触发流水线任务的 API,这个 API 可以通过 Gitlab 的 API 实现自动注册。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

现代流水线的十大特性包括流程可控、动静分离配置化、快速接入、内建质量门禁和数据采集聚合等。其中,快速接入特性通过自动化生成平台关联的原子代码,简化了平台接入的实现成本,提高了平台能力的拓展速度。内建质量门禁特性则将质量检查能力注入持续交付流水线的各个阶段,实现了内建质量的落地。质量门禁的功能设计包括设置门禁检查功能和定义质量门禁的规则,通过适配器加策略模式实现了规则的灵活扩展。数据聚合采集特性则强调了流水线的可视化,使得用户可以在流水线上查看每一个环节的执行情况,满足了用户对最基本的结果数据的查看需求。 这些特性的介绍和实现案例为读者提供了现代流水线的关键特性概览,帮助他们快速了解现代流水线的必备特性。文章还提到了云原生流水线的发展趋势,以及企业在持续交付流水线平台建设中的重要性。作者强调了持续精进的重要性,引用了莉莉·汤姆林的名言,鼓励读者在流水线建设之路上不断思考、实践和改进。 总的来说,本文通过介绍现代流水线的关键特性和发展趋势,为读者提供了对流水线平台建设的重要性和必备特性的全面了解,同时鼓励读者不断追求进步和改进。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DevOps 实战笔记》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • leslie
    每篇文章每个人看到的东西不一样:出发点会同样不同;谈谈我的学习感受和理解,前段时间课程太多欠账太多,这几天梳理其它课程时看到了一些可能当时没看到的东西。 我觉得<内建质量:丰田和亚马逊给我们的启示>那个topic展现的不只是老师文中去强调的内建质量,那篇文章是精简版的流水线流程管理,只不过文章刻意强调的是内建制度而已。内建制度体现的是项目管理,流水线关键的是各个流程的管理,流水线的各个环节内部其实都涉及到了制度/策略管理这是我学完持续交付平台的感触。十大特征看似相互独立其实内部完全和层层关联层层嵌套,除非是最小的原子化。 记得算法课老师说过:计算机能识别的其实只是if else语句,如果拆分到最底层然后再上层一层层去补充并且用逻辑去合理处理。例如:流程可控和动静分离就是相互嵌套互为因果一种体现,要想实现自动化又相互互为因果。 有时研究到后面觉得这种关联会让事情变的简单:不断的从不同的角度去思考会觉得流水线无处不在只是体现形式不同我们没有去做而已。谢谢老师的分享,期待后续的分享。

    作者回复: 真是精彩的留言,你的总结已经可以独立成为专栏的补充学习资料啦!期待你的文章和完整总结的输出,新的一年祝你一切顺利,万事如意!

    2019-12-10
    2
    5
  • Jennifer Huang
    关于动静分离 原子参数配置,想问下,这里的原子可以理解(某些模块下)为一个插件的功能封装吗? 如果是,比如Gitlab插件,就有不胜其数的参数配置,这时候参数怎么定义/暴露名称 给平台前端合适些哈?
    2022-02-07
  • 飞毛兔
    石老师,公司搭建了一个共享的maven库,有多个供应商使用。但个别供应商要求能自行上传依赖并且这些私有依赖不能暴露给其他供应商,请问有什么解决方案吗?
    2019-12-18
    1
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部