- GitLab CI/CD 从入门到实战
- 庞孟臣
- 595字
- 2023-06-29 17:34:13
1.1 CI/CD的含义
在学习GitLab CI/CD之前,我们需要先了解一下什么是CI/CD。
CI是Continuous Integration的缩写,意为持续集成。联系到具体的开发运维场景,就是指开发者在完成项目中的一个小特性后,将自己分支的代码合并到测试分支,这个过程就是集成,在这一集成过程中会运行一系列代码格式的检查、单元测试等严格保证项目质量的检查作业。每一次提交,都需要经过严格的自动化测试,代码才能被合并,这样可以极大降低集成的风险,保证项目的稳定。CI可以帮助开发人员更加频繁地(有时甚至每天)将代码更改合并到共享分支或“主干”中。一旦开发人员对应用所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。
CD有两种含义,这两种含义对应的过程都是在CI阶段完成后进行的。第一种含义,CD是指持续交付(Continuous Delivery)。完成CI中的所有作业后,持续交付可自动将已验证的代码发布到存储库。持续交付的目标是拥有可随时部署到生产环境的artifacts或者镜像,这一过程一般是手动实现的。第二种含义,CD是指持续部署(Continuous Deployment)。鉴于部署环境和部署方式的差异以及各种应用之间的耦合,部署这一项任务不再是用简单的几行命令能搞定的了。注意,持续交付是手动实现的,而持续部署是自动实现的,这就是两者最大的区别。持续部署意味着只要提交了代码,就可以实现自动将代码部署到开发环境、测试环境甚至生产环境。这无疑是非常方便、快捷的。