一、CI/CD 基础概念
1. 什么是 CI/CD?CI 和 CD 的区别是什么?
答案:
- CI(持续集成):开发人员提交代码后,自动构建并运行测试,确保代码集成无冲突。
- CD(持续交付 / 部署):
- 持续交付:自动化将代码部署到测试 / 预生产环境,但需手动触发生产部署。
- 持续部署:代码通过所有测试后自动部署到生产环境。
区别:CD 的核心是自动化部署,而 CI 侧重于代码集成和验证。
2. CI/CD 的核心目标是什么?
答案:
- 快速发现和修复缺陷。
- 减少手动操作,提高部署效率。
- 确保代码质量和环境一致性。
- 支持频繁、可靠的发布。
二、CI/CD 工具链
3. 常见的 CI/CD 工具有哪些?各自特点是什么?
答案:
- Jenkins:开源、高度可定制,适合复杂场景,但配置较繁琐。
- GitLab CI/CD