[CI] 架构精简:合并重复Pipeline,减少冗余配置 #603

Closed
opened 2026-07-19 17:58:00 +08:00 by xiaoxia · 1 comment
Owner

背景

当前CI有9个workflow、近3000行配置,存在大量重复和冗余,导致:

  1. 一次提交同时触发2个大Pipeline(ci-cd + ci-build),结果展示混乱
  2. 相同逻辑多处维护,改配置容易遗漏
  3. 文件分散,排查困难

目标

  • 减少CI结果数量,一眼能看出过没过
  • 公共配置只写一处,改配置只改一个地方
  • 结构清晰,出问题容易定位
  • 不影响任何业务功能,只改 .gitea/workflows/ 下的配置

具体任务

Task 1: 合并 ci-cd.yml + ci-build.yml 为统一 Pipeline

  • 两个文件触发条件完全一致(push/pull_request/main/develop/v*)
  • 合并成一个 workflow,用 needs 串联:lint → test → build → deploy
  • 保持原有所有检查项和功能不变
  • 预期:一次提交只出一组结果

Task 2: 合并 auto-approve.yml + auto-merge.yml

  • 两个文件各174行,diff只有5行
  • 合并为一个 workflow,包含两个job(auto-approve + auto-merge)
  • 保持原有行为不变

Task 3: 抽取公共步骤为 composite action

  • 抽取 checkout + setup node + pnpm install 为公共 action
  • 抽取 docker build + push 为公共 action
  • 各job引用公共action,减少重复代码

Task 4: build job 用 matrix 统一

  • build-staging 和 build-production 各120+行,逻辑几乎一样
  • 用 matrix 统一成一个build job,通过参数区分环境

验收标准

  • 所有原有CI功能不变(lint/test/build/deploy/e2e全部保留)
  • 一次PR提交只触发一条主Pipeline
  • develop分支CI全绿
  • main分支CI全绿
  • 配置代码行数减少30%以上
## 背景 当前CI有9个workflow、近3000行配置,存在大量重复和冗余,导致: 1. 一次提交同时触发2个大Pipeline(ci-cd + ci-build),结果展示混乱 2. 相同逻辑多处维护,改配置容易遗漏 3. 文件分散,排查困难 ## 目标 - 减少CI结果数量,一眼能看出过没过 - 公共配置只写一处,改配置只改一个地方 - 结构清晰,出问题容易定位 - 不影响任何业务功能,只改 `.gitea/workflows/` 下的配置 ## 具体任务 ### Task 1: 合并 ci-cd.yml + ci-build.yml 为统一 Pipeline - 两个文件触发条件完全一致(push/pull_request/main/develop/v*) - 合并成一个 workflow,用 needs 串联:lint → test → build → deploy - 保持原有所有检查项和功能不变 - 预期:一次提交只出一组结果 ### Task 2: 合并 auto-approve.yml + auto-merge.yml - 两个文件各174行,diff只有5行 - 合并为一个 workflow,包含两个job(auto-approve + auto-merge) - 保持原有行为不变 ### Task 3: 抽取公共步骤为 composite action - 抽取 checkout + setup node + pnpm install 为公共 action - 抽取 docker build + push 为公共 action - 各job引用公共action,减少重复代码 ### Task 4: build job 用 matrix 统一 - build-staging 和 build-production 各120+行,逻辑几乎一样 - 用 matrix 统一成一个build job,通过参数区分环境 ## 验收标准 - [ ] 所有原有CI功能不变(lint/test/build/deploy/e2e全部保留) - [ ] 一次PR提交只触发一条主Pipeline - [ ] develop分支CI全绿 - [ ] main分支CI全绿 - [ ] 配置代码行数减少30%以上
xiaoxia added this to the [CI] Phase 5:高级特性 milestone 2026-07-19 17:58:00 +08:00
Author
Owner

已由 PR #605 合并完成 Pipeline 架构精简与重复配置合并,关闭此 Issue。

已由 PR #605 合并完成 Pipeline 架构精简与重复配置合并,关闭此 Issue。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaoxia/xiaoxia-saas#603