京东流水线——满足你对工作流编排的一切幻想
内容提要
今年的敏捷团队建设中,通过Suite执行器实现了一键自动化单元测试。流水线模型是DevOps流水线的核心,具有清晰的模型分层结构、高度的可编排性、支持扇入/扇出模式和多种执行条件组合模式。云原生流水线升级了工作流模型,增加了阶段级概念和图形化编排交互模式。平台用户的最佳实践包括测试环境的按需更新与测试和多维度的数据资源收集与分析。云原生流水线编排功能包括添加阶段、调整依赖阶段、删除阶段和Yaml配置中的依赖关系。
延伸解读
三层模型如何对应交付流程
文章将流水线模型从两层升级为三层,新增阶段级概念,目的是与研发、测试、上线等交付阶段直接对应。研发阶段可支持多需求并行开发,测试阶段能组合环境部署与自动化测试,上线阶段则支持多应用并行发布、依赖发布及金丝雀/蓝绿等策略。这种映射让流水线更贴近实际交付节奏,而非仅停留在任务串联层面。
图形化编排的取舍与适用场景
行云流水线在阶段级提供图形化编排,通过阶段前后的加号建立依赖关系,并支持调整、删除阶段。文章指出这种阶段级图形化编排在业内并不多见,交互和技术实现都有挑战。同时保留Yaml编排,适合熟练用户快速实现流程。读者需注意,当前Yaml仅开放依赖关系查看与导出,编排功能后续才开放,现阶段图形化仍是主要操作方式。
扇入扇出在数据收集场景中的实际用法
文章以搜推算法服务为例,展示如何用扇入聚合多维度数据源:业务维度数据汇总依赖业务数据收集和数据源数据收集两个阶段完成,模型维度数据汇总仅依赖数据源数据收集阶段。这说明扇入能合并多个阶段的输出,减少冗余,但依赖条件需按业务逻辑精确配置,否则可能因前置阶段未完成而阻塞后续汇总。
级联流水线为何可能被逐步替代
Q&A部分明确,流水线模型升级与级联流水线不冲突,但级联流水线仅具备简单扇出能力,缺乏扇入和复杂流程编排能力,且配置与参数传递复杂,大规模应用成本较高。文章希望随着云原生流水线模型升级,未来逐步替代级联流水线。读者可关注这一演进方向,但需注意替代是逐步过程,现有级联流水线短期内仍会共存。
Q&A
什么是DevOps流水线,它的主要功能是什么?
DevOps流水线是实现自动化工作流程的核心,支持软件开发、测试和部署的连续集成、交付和部署(CI/CD)实践。
云原生流水线有哪些主要特点?
云原生流水线具有清晰的模型分层结构、高度的可编排性、支持扇入/扇出模式和多种执行条件组合模式。
如何通过云原生流水线实现自动化测试?
用户可以通过Suite执行器实现一键自动化单元测试,并利用云原生流水线的编排功能进行测试环境的按需更新。
流水线模型的分层结构有什么优势?
流水线模型的分层结构使得工作流程易于理解和管理,确保每个阶段具有明确的输入和输出,从而提高流程的连贯性和可追溯性。
云原生流水线如何支持复杂的自动化测试场景?
云原生流水线通过增加阶段级模型,支持多需求的并行开发模式和复杂的自动化测试组合场景,提升了测试环境的部署能力。
如何使用图形化编排和Yaml编排快速实现工作流程?
用户可以通过图形化编排界面快速添加、调整和删除阶段,同时也可以使用Yaml配置导出创建具备DAG模式的流水线模型。