摘要:2月27日,华为云正式发布流水线服务CodeArts Pipeline,旨在提升编排体验,开放插件平台,以及提供标准化的DevOps企业治理模型,将华为公司内的优秀研发实践赋能给伙伴和客户。

本文分享自华为云社区《企业研发治理转型利器 华为云发布流水线服务CodeArts Pipeline》,作者:华为云头条。

软件持续交付流水线是一个可视化的自动化任务编排调度平台,串联编译构建、代码检查、自动化测试、部署发布等任务,承载软件从代码提交到发布上线全自动化流程。一次配置后即可重复触发执行,避免频繁低效的手工操作。

流水线工程能力伴随软件技术的发展也在逐步演进,现有的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始终以帮助企业建设自动化、标准化和规范化的流水线作业系统为目标,持续为客户创造价值。

华为云CodeArts Pipeline服务已上线,欢迎体验~

点击关注,第一时间了解华为云新鲜技术~

企业研发治理转型利器:华为云发布流水线服务CodeArts Pipeline的更多相关文章

  1. 产品质量管理利器,华为云发布CodeArts Defect缺陷管理服务

    摘要:近日,华为云CodeArts Defect缺陷管理服务正式上线,提供结构化缺陷跟踪流程和标准化的质量度量模型. 本文分享自华为云社区<产品质量管理利器,华为云发布CodeArts Defe ...

  2. 华为云发布桌面IDE-CodeArts

    摘要:华为伙伴暨开发者大会2022,发布华为云桌面IDE-CodeArts. 本文分享自华为云社区<华为云发布桌面IDE-CodeArts,让连接更简单.编码更智能>,作者: Huawei ...

  3. 华为云发布分布式编译构建系统CodeArts Build

    摘要:2月14日,华为云发布分布式编译构建系统CodeArts Build,旨在支撑企业实现高效的软件开发,缩短产品上市周期,帮助企业的软件产品快速形成关键竞争力. 本文分享自华为云社区<唯快不 ...

  4. 华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+

    摘要:本文介绍了华为云对冷启动优化这一业界难题的探索之路,创新提出了基于进程级快照的优化方案. 作者信息-- 子游:华为元戎高级工程师 平山:华为云中间件 Serverless 负责人 琪君:华为元戎 ...

  5. 详解华为云基因容器服务GCS

    基因测序,作为“下一个能够改变世界”的技术,已经由实验室研究演变到临床使用,为人类预测罹患多种疾病的可能性,提前预防和治疗疾病提供了一套可靠的方法和手段.而基于基因测序在预防和治疗疾病方面的准确和可靠 ...

  6. 华为云分布式缓存服务DCS与开源服务差异对比

    华为云分布式缓存DCS提供单机.主备.集群等丰富的实例类型,满足用户高读写性能及快速数据访问的业务诉求.支持丰富的实例管理操作,帮助用户省去运维烦恼.用户可以聚焦于业务逻辑本身,而无需过多考虑部署.监 ...

  7. 华为云测平台服务再升级!华为M5系列平板调测能力正式上线!

    ​​​6月1日,华为M5系列平板设备兼容性测试和远程真机调试功能在华为终端开放实验室正式上线!助力您的产品在大屏适配上快人一步! 华为终端开放实验室DevEco平台现已提供基于华为M5系列平板设备的兼 ...

  8. 基于华为云CSE微服务接口兼容常见问题

    微服务接口兼容常见问题 在进行微服务持续迭代开发的过程中,由于新特性在不停的加入,一些过时的特性在不停的修改,接口兼容问题面临巨大的挑战,特别是在运行环境多版本共存(灰度发布)的情况下.本章节主要描述 ...

  9. 华为云CodeArts Artifact,5大特性守护制品质量与安全

    摘要:2023年2月23日,华为云CodeArts Artifact制品仓库服务正式上线,目标进一步赋能企业伙伴与开发者,实现软件作业中可信制品生产与应用活动快速落地,提高软件交付效率与质量. 本文分 ...

  10. Cloud Native Weekly | 华为云抢先发布Redis5.0,红帽宣布收购混合云提供商 NooBaa

    1——华为云抢先发布Redis5.0 2——DigitalOcean K8s服务正式上线 3——红帽宣布收购混合云提供商 NooBaa 4——微软发布多项 Azure Kubernetes 服务更新 ...

随机推荐

  1. 【第一章 web入门】afr_3——模板注入与proc文件夹

    [第一章 web入门]afr_3--模板注入与proc文件夹 题目来源n1book,buu上的环境 看题 url中提供了name参数,类似在路径中进行了文件名查询然后展示: 随便输入一个数字: 说明肯 ...

  2. 语雀崩了,免费送VIP6个月,赶紧薅!!

    一.前言 在一个无聊的周一,下午浑浑噩噩的时候,一条公众号信息引起我的关注. 什么东西?语雀这种量级的产品也能崩? 看了一下还真是官方公众号发的!! 心里不由得出现,完蛋整个团队要打包遣散了. 其实小 ...

  3. Unity 代码调用重新生成csproj文件

    结论 先放结论:editor代码中直接调用 Unity.CodeEditor.CodeEditor.CurrentEditor.SyncAll(); 原因 在一些操作后,比如修改csc.rsp的内容之 ...

  4. Codeforces Round 823 (Div. 2)C

    C. Minimum Notation 思路:我们可以进行的操作时将一个位置的数删除然后在任意位置处添加一个比当前数大1并且小于9的数,所以我们的操作只会让一个数变大,我们统计一个最大值的后缀,贪心的 ...

  5. EhCache使用详细介绍

    http://hi.baidu.com/yjl_zzh/item/18e6518397cdd1d9d1f8cdfb 2.EhCache的使用注意点    当用Hibernate的方式修改表数据(sav ...

  6. 题解 P7325

    前言 数学符号约定 \(a,b,p\):表示任意自然数. \(F_x\):表示广义斐波那契数列的第 \(x\) 项. \(f_x\):表示普通斐波那契数列的第 \(x\) 项. 如非特殊说明,将会按照 ...

  7. 微前端、single-spa初探

    微前端 微前端,前端这次词就不用多做解释了,这个概念的重点在于这个"微"字, 从字面意义上看,微是小的意思,小是相对于大的一个用于比较的形容词,所以通常是在项目庞大的情况下,才会考 ...

  8. 基础练习:FJ的字符串

    问题描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = "ABACABA" A4 = "AB ...

  9. Keepalived+Nginx高可用案例(抢占式与非抢占式)

    (1)下载安装Keepalived源码包 Keepalived官网源码包下载地址 在服务器上解压 tar -xf keepalived-2.2.8.tar.gz 安装相关前置依赖 yum -y ins ...

  10. 【ASP.NET Core】MVC过滤器:运行流程

    MVC 的过滤器(Filters)也翻译为"筛选器".但是老周更喜欢翻译为"过滤器",意思上更好理解. 既然都叫过滤器了,就是在MVC的操作方法调用前后进行特殊 ...