Module Document
基础架构 · GitLab / CI/CD / 制品仓技术选型
基础架构 · GitLab /
CI/CD / 制品仓技术选型
版本: v0.1
日期: 2026-07-06
归属: 基础架构 / GitLab / CI/CD / 制品仓
1. 选型背景与约束
| 约束 |
说明 |
| 代码安全 |
核心固件/算法代码不可托管到公有云代码平台。 |
| 多语言构建 |
C(固件)、Go(云端)、Flutter(App)、Node(工具)需同时支持。 |
| 制品双区 |
国内制品走阿里云,海外走 AWS,需跨区同步。 |
| 运维能力 |
1 名平台运维,优先成熟工具减少自维护成本。 |
2. 候选方案对比
代码托管
| 方案 |
优势 |
劣势 |
场景 |
| 自建 GitLab(推荐) |
完全自控、代码安全、CI 原生集成 |
需自维护 HA 和备份 |
全部代码仓 |
| Gitea |
轻量、资源少 |
CI/CD 能力弱、生态小 |
超小团队 |
| GitHub Enterprise |
生态最强 |
价格高、国内访问慢 |
有国际团队时备选 |
CI/CD 工具
| 方案 |
优势 |
劣势 |
场景 |
| GitLab CI(推荐) |
与 GitLab 原生集成、无需额外工具 |
配置较 Jenkins 复杂 |
与 GitLab 统一使用 |
| Jenkins |
插件生态最广 |
维护成本高、配置碎片化 |
遗留系统迁移 |
| GitHub Actions |
生态强、YAML 简洁 |
需要 GitHub,不适合自建 |
不适用 |
国内制品仓
| 方案 |
优势 |
劣势 |
场景 |
| 阿里云 ACR(推荐) |
与 ACK 原生集成、国内速度快、企业版权限细 |
绑定阿里云 |
国内 Docker 镜像 |
| 自建 Harbor |
完全自控、跨云 |
需维护高可用 |
有自建需求时 |
| GitLab Container Registry |
与 GitLab 一体 |
存储成本高、无 CDN |
小规模备选 |
海外制品仓
| 方案 |
优势 |
劣势 |
场景 |
| AWS ECR(推荐) |
与 EKS 原生集成、全球低延迟拉取 |
绑定 AWS |
海外 Docker 镜像 |
| Docker Hub |
公共镜像方便 |
私有镜像有限速,安全审计弱 |
公共基础镜像 |
固件/SDK 制品存储
| 方案 |
优势 |
劣势 |
场景 |
| 阿里云 OSS(国内)+ AWS S3(海外)推荐 |
与各自云原生集成、成本低、权限细 |
双云管理 |
固件包/SDK 分发 |
| 自建 MinIO |
完全自控 |
需维护高可用 |
内网离线场景 |
镜像安全扫描
| 方案 |
优势 |
劣势 |
场景 |
| Trivy(推荐) |
开源免费、GitLab CI 原生集成、扫描快 |
漏洞库需定期更新 |
CI 流水线集成 |
| Snyk |
SaaS、漏洞库好 |
收费 |
有预算时升级 |
3. 推荐方案
| 层级 |
推荐 |
| 代码托管 |
自建 GitLab(阿里云 ECS) |
| CI/CD |
GitLab CI + Runner |
| 国内制品 |
阿里云 ACR |
| 海外制品 |
AWS ECR |
| 固件/SDK 存储 |
阿里云 OSS(国内)+ AWS S3(海外) |
| 安全扫描 |
Trivy(集成 GitLab CI) |
| CD 工具 |
ArgoCD(与 K8S 模块共用) |
4. 迁移 / 切换成本
| 场景 |
成本评估 |
| 自建 GitLab → GitHub Enterprise |
中:代码迁移容易,CI pipeline 需重写,2-4 周。 |
| ACR → Harbor 自建 |
中:镜像迁移,配置 push/pull 地址,2 周。 |
| Trivy → Snyk |
低:替换 CI 步骤,1 周。 |
5. 决策记录
| 决策 |
结论 |
日期 |
决策人 |
| 代码托管 |
自建 GitLab |
2026-07-06 |
IT Owner |
| 国内制品仓 |
阿里云 ACR |
2026-07-06 |
IT Owner |
| 海外制品仓 |
AWS ECR |
2026-07-06 |
IT Owner |
| 安全扫描 |
Trivy |
2026-07-06 |
IT Owner |