DevOps 面试题大全(四·上):CI/CD 持续集成部署 25 题详解

前言

CI/CD(持续集成/持续部署)是 DevOps 的核心实践之一。本文整理 50 道 CI/CD 面试题,分上下两篇。上篇涵盖基础概念(1-15 题)和进阶实战(16-25 题)。

一、基础概念题(1-15 题)

1. 什么是 CI/CD?

CI(持续集成):频繁提交代码,自动构建测试,尽早发现问题

CD(持续交付):代码随时可部署,手动触发生产

CD(持续部署):自动部署到生产,无需人工干预

2. Jenkins 架构组成

  • Master - 管理界面,调度任务
  • Agent - 执行构建
  • Plugins - 扩展功能(1500+ 插件)
  • Jobs - 构建任务

3. Jenkins Pipeline 类型

  1. Declarative - 声明式,推荐使用
  2. Scripted - 脚本式,更灵活

4. Jenkinsfile 的作用

  • 版本控制构建流程
  • 代码审查构建逻辑
  • 单一事实来源
  • 可重复性

5. Jenkins 触发方式

  1. 手动触发
  2. 定时触发(Cron)
  3. 代码提交触发(Webhook)
  4. 上游任务触发
  5. API 触发

6. Blue Ocean 是什么?

Jenkins 现代化 UI 插件,专为 Pipeline 设计,提供可视化执行、并行展示、快速定位失败等功能。

7. Shared Library 作用

允许多个 Pipeline 共享代码,实现代码复用和统一管理。

8. GitLab CI 核心概念

  • .gitlab-ci.yml - 配置文件
  • Runner - 执行代理
  • Pipeline/Stage/Job - 流程/阶段/任务
  • Artifact/Cache - 产物/缓存

9. GitHub Actions 概念

  • Workflow - 工作流程
  • Event - 触发事件
  • Job/Step/Action - 任务/步骤/动作
  • Runner - 执行服务器

10. ArgoCD 的作用

声明式 GitOps 持续交付工具,用于 K8s 应用部署,支持自动同步、可视化、多集群管理。

11-15. 更多基础题

题号 题目 要点
11 什么是 GitOps? Git 作为单一事实来源,自动化部署
12 Jenkins 凭据管理? Credentials 插件,支持多种类型
13 什么是 Jenkins Agent? 执行构建任务的节点
14 Jenkins 高可用配置? Master 备份、多 Agent、外部存储
15 Artifact vs Cache? Artifact 是产物,Cache 是缓存

二、进阶实战题(16-25 题)

16. 多环境部署流程

Dev → Staging → Production,不同分支触发不同环境,生产需要审批。

17. 蓝绿部署

两套环境,切换流量,快速回滚,零停机。

18. 金丝雀发布

逐步增加流量(10%→25%→50%→100%),监控指标。

19. Jenkins 凭据配置

Credentials 插件,支持用户名密码、SSH Key、Secret file 等。

20. 并行构建

使用 parallel 阶段或 matrix 策略实现并行。

21. 构建通知配置

邮件、Slack、钉钉、企业微信等。

22. SonarQube 集成

Sonar 插件,代码质量检查,质量门禁。

23. Docker 镜像构建

Docker 插件,多阶段构建,推送到仓库。

24. K8s 部署配置

kubectl 命令,kubeconfig 凭据管理。

25. 自动化测试

JUnit,TestNG,pytest,集成测试。


下篇预告:26-50 题,涵盖高级架构、故障排查、性能优化等

发表回复

后才能评论