软件持续交付流水线是一个可视化的 自动化 任务编排调度平台,串联编译构建、代码检查、自动化测试、部署发布等任务,承载软件从代码提交到发布上线全自动化流程。一次配置后即可重复触发执行,避免频繁低效的手工操作。
流水线工程能力伴随软件技术的发展也在逐步演进,现有的DevOps工具链集成有很大的局限性。
数据显示,一套成熟的Pipeline工具链涉及20多种研发工具,企业搭建往往需要3个月,其中40%的时间在管理和配置工具。如何帮助企业建设自动化、标准化和规范化的流水线 解决方案 成为新的课题。
2月27日,华为云正式发布流水线服务CodeArts Pipeline,旨在提升编排体验,开放插件平台,以及提供标准化的DevOps企业治理模型,将华为公司内的优秀研发实践赋能给伙伴和客户。
流水线串联研发作业全流程沉淀华为研发 数字化 资产
华为公司在软件开发领域有30年以上的交付经验,从早期的无线基站、路由器,到后来的终端应用,再到 云计算 服务,持续交付和流水线作业系统也同样在做持续演进。
该演进过程大致可分成三个阶段:
第一个阶段为自动化,将软件交付的各道工序以流水线的方式统一定义,一次编排,可重复执行,降低流程因手工干预导致的质量风险,极大提高了软件开发效率。但是随着业务的发展,研发管理者面临新的问题:
如何保证开发人员的代码合入质量?
如何保证软件交付过程中的必经步骤都被正确执行?
如何保证变更过程中的质量?
如何将团队内的优秀经验和实践共享给其他团队?
如何保证所有团队的工程能力建设一致?
这就需要演进到后续阶段解决上面的问题。
第二阶段为标准化。标准化流程通常需要依靠人的管理,但是“人治”经验
以形成有效的知识资产被其他团队继承和使用,并且软件发布过程中时常会出现流程未被正确执行而导致的现网事故。
流水线承载了从代码开发到软件发布全过程研发数据,企业每年流水线作业系统上积累的数据,都是一笔关键的知识资产,要让这批资产有效利用起来,也就是以数字化的方式辅助企业进行研发治理。
第三阶段为规范化。华为通过多年的持续交付实践经验,总结出了一套行之有效的研发策略管理模型,以数字化的管理方式将要求内置在流水线中,规范流水线每个阶段的质量管理要求,也将软件交付从依靠人的治理转变为工具和流程的自动化治理,真正将企业的研发治理模型和流水线作业系统相结合,让开发者无感开发,流程天然合规。
华为云CodeArts Pipeline将华为研发交付实践赋能伙伴和客户
华为流水线的核心为编排调度+开放平台+企业研发治理。过去,华为云CodeArts Pipeline一直致力于协助客户软件工程能力建设,流水线已具备任务编排调度、执行策略管理、质量门禁等核心能力。本次发布的重点是提升编排体验,开放插件平台,以及提供标准化的DevOps企业治理模型,将华为公司内的优秀研发实践赋能给伙伴和客户。
特性一:灵活高效的流水线编排能力,5分钟完成流水线创建
流水线是开发人员极为重要的工作平台,使用体验对企业的研发效率影响很大,企业的配置管理工程师通常要对成百上千的流水线进行频繁的创建、编排和更新。
华为云CodeArts Pipeline注重一站式体验,所见即所得的交互方式,降低用户的学习和使用成本,本次的全新UI升级,重在提升编排体验,让开发人员可在5分钟内完成个人流水线的创建。通过串并行的混合编排,多层任务嵌套等更灵活的编排模式,快速完成企业多个研发场景流水线工程建设。
特性二:开放可扩展的流水线插件平台,助力企业研发资产快速集成
中大型企业一般都会有自己的流水线工具链,在企业上云后,对于企业自建的CICD工具, 开源 工具等资产无法被继承和复用,造成大量的重复建设和浪费。
华为云CodeArts Pipeline提供了一套标准的流水线扩展插件接入方式,让企业能够快速将已有的工具接入到插件平台,或者基于自身业务需求快速开发和发布插件,并在企业内进行共享和共建。
其优势在于:
低代码、可视化插件开发体系,降低开发成本,提升开发效率;
统一插件接入标准,支持企业快速开发插件,快速适配业务需求。
特性三:微服务DevOps变更模型,小特性需求交付周期缩短到1天
传统ICT领域软件通常按大颗粒版本进行发布,集中式版本发布的显著问题是每个版本承载特性过多,从需求提出到正式上线时间跨度大,响应周期长,影响企业抢占市场。
华为云CodeArts Pipeline给企业提供了一种微服务模型,将企业大军团的作战方式转变为小团队精英作战,支持每个微服务独立的进行开发、验证、部署及上线发布,缩短需求的发布周期,同时支撑企业按照业务功能来组织团队,优化管理模型,运作更为精细化,团队运作效率也可以得到有效的提升。
为保证业务快速上线,关键能力是软件高效的自动化部署,大规模的软件部署通常是让开发人员感到痛苦的事情。
CodeArts Pipeline提供了微服务DevOps变更模式,为软件的开发到发布构建一个可重复且可靠的自动化过程。通过以任务交付为对象,缩小每次变更范围,小批量、小粒度、频繁的按需发布和部署,降低发布风险。
微服务变更模型优势在于:
天然的OneTrack开发模式,代码主干和现网版本始终一致;
特性分支自动化集成验证和一键回退,可按需集成和发布;
项目管理流,作业流,分支管理流自动协同;
需求、代码、变更全流程E2E可追溯。
在华为内部,通过基于微服务架构改造和特性解耦,并采用变更管理实践,最终达成:
完成团队全栈工程师能力建设;
轻量级测试,变更验证工作量降低80%;
小特性需求交付周期,从3-5天缩短到1天。
特性四:企业级CI/CD策略管理,2000+企业治理规则助力缺陷自动拦截
Policy As Code(策略即代码)是一种通过代码定义和管理自动化策略的方法,基于代码的自动化而不是依赖手动流程来管理策略,允许团队更快地交付并减少人为配置错误的可能性,是一种提高软件交付质量的最佳实践。
DevOps模式质量管理强调工具化承载和自动化检查,华为云CodeArts Pipeline通过策略的代码化管理,将安全、质量、可信等规则内置在流水线中。DevOps策略管理模型以数字化的方式治理企业研发流程,将企业治理规则沉淀为企业的资产。
其优势在于:
标准化作业流程,策略模板可继承可复制;
策略统一管控,并开放自定义策略能力;
策略可应用于流水线各个阶段。
在华为公司,可信构建、开源治理、代码检查、自动化测试、安全生产、合规扫描等策略内置在流水线中,共沉淀企业治理模板2000多个,软件发布缺陷率降低80%以上。
特性五: 云原生 发布管理,一键回滚,现网问题快速修复
云原生技术有助于构建和运行可弹性扩展的应用,降低微服务的部署依赖,使工程能够轻松对系统做出频繁和可预测的重大变更。云原生发布不依赖于特定的云基础设施,而是通过集中的编排调度系统进行动态管理和调度,完成软件快速、低风险部署。
借助以上优势,企业可以面对市场的变化快速做出响应。云原生应用可以在公有云、混合云和 私有云 中提供一致的体验,本次重磅推出云原生发布管理特性。
其优势在于:
“小步快跑”的方式实现低成本,高效率,高质量的软件发布;
发布过程中的事件单管理,变更过程可视化;
流水线支持版本一键回滚。
基于以上五大特性,华为云CodeArts Pipeline可以帮助企业建设高效的、可扩展的流水线自动化作业系统,并且通过DevOps研发策略管理,持续规范化客户流水线建设,助力企业高效高质量交付。
如今,华为流水线服务已经支持华为公司云计算、ICT、终端等多个产业的软件持续交付,支撑超过6万软件开发人员日常工作,每日执行高达百万次。
未来,华为云CodeArts Pipeline将在平台的开放性,研发数字化治理上持续发力。支持跨workflow的编排、跨平台的交互能力;持续外溢更多企业策略管理模型。CodeArts Pipeline始终以帮助企业建设自动化、标准化和规范化的流水线作业系统为目标,持续为客户创造价值。