news 2026/5/5 17:49:19

Jenkins Integration Pipeline Design

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jenkins Integration Pipeline Design

External Delivery Integration Pipeline — 需求文档 & 用户指南

目录

  1. 背景与目的
  2. 系统架构概述
  3. Pipeline 角色说明
  4. Supervisor Pipeline 需求
    • 4.1 功能需求
    • 4.2 Pipeline 参数定义
    • 4.3 流程阶段描述
    • 4.4 测试变体选取逻辑
  5. Worker Pipeline 需求
    • 5.1 功能需求
    • 5.2 Pipeline 参数定义
    • 5.3 流程阶段描述
    • 5.4 测试模式说明
  6. 数据流与集成依赖
  7. 构建结果与通知
  8. 用户使用指南
    • 8.1 自动触发(Zuul 集成)
    • 8.2 手动触发
    • 8.3 Regate(重新触发测试)
    • 8.4 跳过测试(skip-pre-verification)
    • 8.5 手动干预通过(manual-intervention-pass)
    • 8.6 QL2 远程测试触发
  9. 错误处理与故障排查
  10. 术语表

1. 背景与目的

External Delivery Integration Pipeline 是 CI/CD 系统中的核心集成测试流水线,用于对来自外部交付(External Delivery)的软件包)在真实硬件或 仿真环境上执行自动化集成测试。

核心目的:

  • 在软件合入代码库前进行Gate测试,对外部软件交付包进行自动化兼容性与功能集成验证。
  • 通过 Zuul 门控机制(Gerrit Zuul)与 Jenkins 联动,保障代码质量。
  • 支持多种无线模块软件线(SW Line。
  • 提供结果上传、日志归档、邮件通知及 MongoDB 数据追踪能力。

2. 系统架构概述

┌─────────────────────────────────────────────────────────────┐ │ Gerrit / Zuul 触发 │ │ (ZUUL_REF / ZUULEX_COMMIT_MESSAGE 等参数) │ └──────────────────────────┬──────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Supervisor Pipeline │ │ jenkins-ExternalDelivery-supervisor.jf │ │ │ │ 1. 初始化工作空间 │ │ 2. 解析 SW Line 与 Variant 列表 │ │ 3. 过滤/筛选测试 Variant │ │ 4. 并行触发多个 Worker Job │ └──────┬──────────────┬───────────────────┬───────────────────┘ │ │ │ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │ Worker │ │ Worker │ ... │ Worker │ │ XXQL │ │ XXQC │ │ XXEGHA/XXM9 │ └──────────┘ └──────────┘ └──────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Worker Pipeline │ │ jenkins-ExternalDelivery-worker-common.jf │ │ │ │ 1. 初始化工作空间 & 读取 Commit 消息 │ │ 2. 随机选取测试节点(Slave) │ │ 3. 下载软件包(Artifactory) │ │ 4. 解压软件包 │ │ 5. 执行 Robot Framework 集成测试 │ │ 6. 收集测试日志 │ │ 7. 上传日志到 Artifactory │ │ 8. Post 阶段:通知、标记 Zuul Ref 结果 │ └─────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────┐ │ Artifactory / MongoDB / 邮件 │ │ - 日志 & 报告归档 (mnprf-rfsw-hwsct-local) │ │ - 测试结果写入 MongoDB │ │ - 成功 Zuul Ref 写入 .txt 到 Artifactory │ │ - 邮件通知相关负责人 │ └─────────────────────────────────────────────────────────────┘

3. Pipeline 角色说明

角色文件职责
Supervisorjenkins-ExternalDelivery-supervisor.jf解析输入参数、筛选测试 Variant、并行触发 Worker Job
Workerjenkins-ExternalDelivery-worker-common.jf针对单个 Variant 执行完整的软件包下载、安装、Robot 测试、日志收集全流程

Supervisor 与 Worker 的命名约定:

  • Worker Job 名称由 Supervisor Job 名称派生:
    • 普通模式:<SupervisorJobName>_<Variant>(如ED_SRM7_XXQL
    • SRM9 Simics 模式:<SupervisorJobName>_SIMICS_<Variant>(如ED_SRM9_SIMICS_A9X0_S

4. Supervisor Pipeline 需求

4.1 功能需求

ID需求描述
SUP-FR-001系统应能从 Jenkins Job 名称中自动解析当前 SW Line。
SUP-FR-002系统应支持通过参数VARIANT_SELECTION配置可用的测试变体(Variant)列表。
SUP-FR-003系统应根据ZUUL_CHANGES参数中的分支信息动态筛选测试 Variant 范围。
SUP-FR-004系统应支持针对 L1 交付类型([pre-bCI][L1])自动缩减测试变体列表(仅保留 XXQL)。
SUP-FR-005系统应支持 Regate 场景:解析ZUULEX_CHANGE_COMMENT中的 Variant 关键词,动态调整测试变体。
SUP-FR-006系统应支持跳过已在本轮交付中测试通过的变体(skipRetest+ MongoDB 查询)。
SUP-FR-007系统应并行触发所有选定 Variant 的 Worker Job,不设置failFast(任意一个失败不中断其他)。
SUP-FR-008系统应支持配置最大重试次数(MAX_RETRIES),失败 Worker 可自动重试。
SUP-FR-009系统应将 ZUUL 相关参数完整透传至每个 Worker Job。
SUP-FR-010系统应在 Post 阶段根据实际构建结果更新 Jenkins 构建状态徽章(badge)。

4.2 Pipeline 参数定义

参数名类型必填默认值说明
VARIANT_SELECTIONString可用 Variant 列表,逗号分隔,如XXQL,XXQC,XXQQA,XXKUD
MAX_RETRIESString0
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 23:39:27

用骗孩子压岁钱的故事,来解释AI 技术

❝开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;&#xff08;共3400人左右 …

作者头像 李华
网站建设 2026/5/3 23:39:30

深度解析w64devkit:Windows平台C/C++开发工具链的架构实现

深度解析w64devkit&#xff1a;Windows平台C/C开发工具链的架构实现 【免费下载链接】w64devkit Portable C and C Development Kit for x64 (and x86) Windows 项目地址: https://gitcode.com/gh_mirrors/w6/w64devkit w64devkit是一个专为Windows平台设计的便携式C、C…

作者头像 李华
网站建设 2026/5/4 0:12:54

Compose跨平台新版本来了!测试 API 全废弃,iOS 崩溃集中修复

本次版本带来了全新的 v2 测试 API、一大波 iOS 崩溃修复&#xff0c;以及 Desktop 端的内存和性能优化。测试 API 大升级&#xff1a;v2 来了 这次最大的变化是 UI 测试框架的升级。 旧版的 runComposeUiTest、runSkikoComposeUiTest、runDesktopComposeUiTest 全部标记为 dep…

作者头像 李华