Skip to content

CI/CD

流水线、GitOps、制品管理。

Updated View as Markdown
For humans

CI/CD

校招考察频度:☆ 中频(工程效率·流水线实战)

CI/CD 把交付自动化:CI 保证质量,CD 保证发布。面试主线:流水线阶段、GitOps、与 K8s 的结合。

CI 与 CD

环节内容目标
CI(持续集成)提交触发:测试 + 构建 + 扫描每次提交可验证
CD(持续交付/部署)自动发布到环境快速可靠上线

流水线阶段:

代码提交 → 单元测试 → 代码扫描 → 构建镜像 → 镜像扫描
→ 推送制品库 → 部署测试环境 → 集成测试 → 部署生产(灰度)

工具链

环节工具
CI 平台GitHub Actions、GitLab CI、Jenkins
制品库Harbor、Artifactory(镜像/包)
部署ArgoCD、Flux、Helm
质量SonarQube(代码)、Trivy(镜像漏洞)

Helm:K8s 应用打包(模板化 yaml,values 参数化)。发布 = helm install/upgrade。

GitOps

GitOps: Git 是唯一事实源, 控制器对账

  • GitOps:Git 仓库是部署的唯一事实源,变更走 PR 审查,ArgoCD 自动同步到集群
  • 收益:可审计(谁改了什么都在 Git)、可回滚(revert)、自动修复漂移
  • 与 K8s 控制器模式一致:声明式 + 对账

发布流水线要点

要点说明
每次提交跑 CI问题早发现,别攒着
构建一次发布多次同一镜像从测试到生产(不可变)
环境隔离测试/预发/生产,配置不同(ConfigMap)
门禁测试不过、扫描有高危漏洞 → 阻断
快速反馈CI 10 分钟内完成(开发者才愿意等)

面试追问

  1. CI 和 CD? CI 提交即验证(测试构建扫描),CD 自动发布。流水线是常态
  2. GitOps 是什么? Git 是事实源,ArgoCD 对账同步。PR 即发布审批,可审计可回滚
  3. Helm 干什么? K8s 应用打包:模板化 yaml + values 参数化
  4. 构建一次发布多次? 同一镜像走完环境(不可变):测试验证过的就是生产的
  5. CI 里做什么安全? 依赖/镜像漏洞扫描、密钥扫描(防提交 Secret)。门禁阻断
Navigation

Type to search…

↑↓ navigate↵ selectEsc close