一站式 DevSecOps 平台,本质是把”需求、代码、构建、测试、部署、运维”六件事在同一条流水线上跑通,并让安全检查从上线后挪到合并请求阶段。华为云软件开发生产线 CodeArts(原 DevCloud)由需求管理、代码托管、代码检查、流水线、编译构建、部署、测试计划、制品仓库、效能洞察九大模块组成,模块之间数据互通、权限贯通、链路可追溯。下面把这套体系的核心定义、能力矩阵、落地路径一次拆开。
一、核心定义
平台
「平台」是研发协作的承载底座,由 Web 控制台、IDE 插件、CLI、OpenAPI 四类入口组成。开发者从需求提报、代码提交、流水线触发到制品发布,都在同一个组织/项目/成员的权限边界内完成,不必再切到外部 Jenkins、GitLab、SonarQube、Jira 维护第二套用户体系。
DevSecOps
「DevSecOps」是把安全(Security)嵌入到开发(Dev)与运维(Ops)流水线的实践范式。安全能力以”左移”为目标:漏洞识别、敏感信息扫描、合规检查在代码合并阶段就开始触发,而不是等产品部署到生产环境再做扫描。三件事在同一条流水线上闭环是 DevSecOps 与传统 DevOps 的最大差异。
一站式
「一站式」指的是需求 → 代码 → 构建 → 测试 → 制品 → 部署 → 运维的端到端链路都能在一个平台内完成,不需要跨多个独立 SaaS 拼装。一站式的反面是”工具拼凑型”——每个工具管一段,用户在不同系统间来回切,链路不连贯、审计成本高、合规风险大。
CodeArts
「CodeArts」是华为云软件开发生产线的当前品牌名,前身为 DevCloud。它以”研发即服务(RaaS)”为设计理念,把上述九大模块封装为可编排的云服务,源自华为内部 30 余年研发积淀,对外提供商业化版本。
二、平台核心模块的分工
CodeArts 的九大模块各司其职,下表给出模块与典型能力的对应关系:
| 模块 | 解决的问题 | 关键能力 | 适用阶段 |
|---|---|---|---|
| 需求管理 | 跨团队需求与缺陷协同 | Scrum/看板/IPD、基线变更、Wiki | 立项、迭代 |
| 代码托管 | 分布式代码管理与评审 | Git、分支保护、PR 审计、敏感信息扫描 | 开发 |
| 代码检查 | 编码规范与安全左移 | 多语言规则集、分级修复建议 | 开发 |
| 流水线/构建 | 持续集成与发布自动化 | YAML/可视化编排、亿行级分钟构建 | 测试、发布 |
| 部署 | 多形态应用发布 | 主机/容器/Serverless、并行部署、回滚 | 发布 |
| 测试计划 | 端到端测试管理 | 用例、接口、性能、UI 自动化 | 测试 |
| 制品仓库 | 软件包生命周期管理 | 多格式制品、版本管理、漏洞扫描 | 发布 |
| 效能洞察 | 研发指标可视化 | 部署频率、MTTR、变更前置时间 | 运维、治理 |
| 安全服务 | 漏洞与合规检测 | Web 漏洞、主机漏洞、组件成分分析 | 全流程 |
三、需求管理
需求管理模块支持多种需求模型与对象类型(需求/缺陷/任务等),既能承载敏捷迭代,也能承接瀑布式里程碑。基线与变更管理、跨项目协同、Wiki 在线协作、自定义报表构成企业级研发治理的骨架,适合作为组织级 PMO 的统一入口。
Scrum 模板下可以跑标准的迭代计划、燃尽图、回顾会议;看板模板适合运维、客服等不规则任务流;IPD 模板对应大型产品研发的阶段评审与基线管理。三种模板可以并存于同一组织下的不同项目,按团队规模与产品形态灵活选择。
四、代码托管与代码检查
代码托管基于 Git 协议,兼容主流 IDE 与 CLI,支持分支保护、Code Review、Pull Request 自动触发检查、敏感信息扫描与代码签名验证。分支保护策略可以按”主干不允许直推””必须 N 人评审””必须通过门禁检查”做组合,从代码入口就锁住风险。
代码检查引擎内置大量规则,覆盖 C/C++、Java、Python、Go、JavaScript、Shell 等多种语言,涵盖编码规范、安全漏洞(OWASP Top 10、CWE)、性能缺陷、可维护性指标等多个维度。问题按 Blocker/Critical/Major/Minor 分级并提供修复建议,关键规则可设为”门禁模式”——不通过则合并请求被拒。
五、流水线与编译构建
流水线支持 YAML 声明式语法与可视化拖拽编排,内置多种构建环境与模板,环境搭建效率可显著提升。条件分支、并行执行、失败重试、审批卡点等能力可任意组合,业务人员先用图形界面搭出基础流水线,再切换到 YAML 做深度定制,是 CodeArts 区别于纯 YAML 工具的特色。
编译构建基于大规模分布式资源调度,通过代码缓存与精准增量技术,把单机编译扩展到多机并行,可支撑亿行级代码在分钟级完成构建。流水线天然串联代码检查、单元测试、镜像构建、制品归档、灰度发布等阶段,把”代码-制品-部署”串成单一事实源。
六、部署、测试与制品仓库
部署模块支持主机、容器、Serverless 三种形态,内置 Tomcat、SpringBoot 等模板,提供原子步骤的自由编排与并行部署能力。回滚机制与灰度策略是标配,发布失败可在秒级回退。
测试计划覆盖测试设计、用例、执行与评估全流程,接口测试、性能测试与 UI 自动化测试在同平台内闭环。性能测试支持 HTTP/HTTPS/TCP/UDP 协议,可模拟大并发链路压测,输出 TPS、RT、错误率等关键指标。
制品仓库支持 Maven、Npm、NuGet、Docker、Helm 等多种制品包类型,提供细粒度权限控制、安全扫描与版本管理。代码提交、构建产物、部署版本在制品仓库内一一对应,审计与回溯都在同一界面完成。
七、把流水线真正跑起来的关键步骤
要发挥 CodeArts 的协同优势,通常按以下五步落地:
- 梳理研发价值流:从需求提出到线上发布,识别出串行与并行的关键节点,明确哪些环节必须人工审批;
- 在需求管理中配置迭代模板:把 Scrum 或 IPD 模板固定下来,把任务、缺陷、用户故事与代码库做字段映射;
- 搭建代码托管与代码检查:开通分支保护与门禁,把代码检查规则集按语言分级,先跑”门禁模式”再做”全量模式”;
- 编排流水线:从代码拉取开始,把编译、单元测试、镜像构建、制品归档、灰度部署、API 回归测试串成一条流水线,关键节点加入人工卡点;
- 引入安全与效能洞察:开启制品漏洞扫描、二进制成分分析、运行时漏洞管理,并用效能洞察看板跟踪 MTTR、部署频率等核心指标。
一条典型 Java 微服务流水线
下面这段 YAML 描述的是”代码拉取 → 编译构建 → 单元测试 → 镜像构建 → 制品归档 → 灰度发布”的典型流水线,平台会把每一步的执行结果、构建产物与代码提交记录自动关联:
pipeline:
stages:
- name: checkout
steps:
- git: { repo: example/service-demo, branch: main }
- name: build
steps:
- compile: { jdk: 17, tool: maven }
- unit-test: { framework: junit5, coverage: 80 }
- name: image
steps:
- dockerfile-build: { dockerfile: ./Dockerfile, tag: ${CI_COMMIT_SHA} }
- push: { registry: swr.cn-north-4.myhuaweicloud.com, repo: demo/service }
- name: deploy
steps:
- helm-upgrade: { cluster: cce-prod, chart: ./chart, value: values.yaml }
- canary: { percent: 10, duration: 10m }
- approval: { reviewers: [sre-lead] }
- full-release: { when: canary-passed }
流水线跑通后,代码提交触发构建,构建产物自动进入制品仓库,镜像推送至 SWR,Helm Chart 在 CCE 集群上做灰度,告警与日志通过运维侧订阅。流水线每一步的执行结果都被结构化记录,平台同时提供门禁审批、变更追溯、效能分析能力。
八、效能度量与 DevSecOps 治理
CodeArts 效能洞察模块把研发各阶段数据汇总为可分析指标,包括部署频率、变更前置时间、平均恢复时间(MTTR)、构建成功率、测试覆盖率等 DevOps 关键度量。配合平台内置的治理规则,流水线可以做到”Policy As Code”,自动拦截不符合规范的变更,在不增加人工评审负担的前提下守住质量底线。
安全方面,代码安全检查、Web 与主机漏洞扫描、终端应用安全测试、组件成分分析等服务形成统一 SecDev 入口,覆盖 OWASP Top 10、CWE 等主流风险库。安全左移的实质是把防线从”运行时”挪到”开发态”,让漏洞在合并请求阶段就被识别,降低修复成本。
九、典型落地路径
新引入 CodeArts 的团队,建议从”单团队+单服务”试点起步:在需求管理里开一个 Scrum 项目,选 1-2 个核心服务接入代码托管、代码检查、流水线、部署,把流水线跑通后再推广到其他服务。中型企业可在试点稳定后一次性切换项目管理,再分批把工具链换成 CodeArts 各模块;大型企业则适合按事业部或产品线渐进式迁移,先统一流水线规范,再统一需求与度量口径。
经验上有三个要点:一是把流水线门禁与人工卡点同步铺开,避免一开始就跑全自动化导致线上事故;二是用效能洞察的指标做基线对比,而不是凭主观感受评判效果;三是把安全规则、代码检查规则做分级治理,关键规则卡门禁,次要规则做趋势分析,减少规则”噪声”带来的开发抵触。
到这里,CodeArts 的九大模块、五步落地、治理与安全的边界就完整了。核心是「平台是底座、DevSecOps 是范式、一站式是结果」——把三件事拆开看,模块之间的协同与边界就清晰了。
常见问题(FAQ)
Q1:CodeArts 和原 DevCloud 是什么关系?
CodeArts 是软件开发生产线的最新品牌名,原 DevCloud 服务已整合到 CodeArts 产品体系下,能力保持一致并持续演进。
Q2:流水线必须用 YAML 吗?
不必。CodeArts 同时支持可视化拖拽编排,业务人员可先用图形界面搭出基础流水线,再切换到 YAML 做深度定制。
Q3:自建 GitLab/Jenkins 能否平滑迁移?
可以。CodeArts 提供代码批量导入、流水线模板与 API 兼容层,先并行运行再逐步切换,可降低一次性切换风险。