CI/CD 的核心理念是通过高度自动化,让软件的构建、测试和发布过程变得频繁、可靠且可重复。
我们通常将 CI/CD 拆解为两个紧密相关的部分:持续集成 和 持续交付/持续部署。
1.持续集成:
频繁提交:开发者每天至少一次将代码推送到共享代码库(如 Git)。
自动化构建与测试:每次代码提交都会触发一个自动化的流程,包括:
代码拉取:从代码库拉取最新代码。
构建:编译源代码、打包成可执行文件(如 Jar, Docker Image)。
自动化测试:运行一系列测试,如单元测试、集成测试。
快速反馈:如果构建或测试失败,团队会立即收到通知,并优先修复。
- 持续交付:
它包含了 CI 的全部流程。
在此基础上,增加了更全面的自动化测试和自动化部署到类生产环境。 - 持续部署:
它包含了持续交付的全部流程。
关键区别在于:只要代码通过所有测试阶段,就会自动部署到生产环境,无需人工干预。
这对流程的可靠性和测试的完备性要求极高。通常需要完善的监控和回滚机制。
CI/CD流程图
评论 (0)