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