前言:要构建持续集成环境 首先我们要了解什么是DevOps,持续集成的作用到底是什么,本文就详细介绍了相关的概念。
什么是DevOps?
DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
这个定位稍微有点抽象,但是并不难理解。反正它不是某一个特定软件、工具或平台的名字。
从目标来看,DevOps就是让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件整体过程更加快捷和可靠。
什么是CI?
通过持续集成,开发人员能够频繁地将其代码集成到公共代码仓库的主分支中。 开发人员能够在任何时候多次向仓库提交作品,而不是独立地开发每个功能模块并在开发周期结束时一一提交。
CI 的目标是将集成简化成一个简单、易于重复的日常开发任务, 这样有助于降低总体的构建成本并在开发周期的早期发现缺陷。 要想有效地使用 CI 必须转变开发团队的习惯,要鼓励频繁迭代构建, 并且在发现 bug 的早期积极解决。
什么是CD?
CD 有两层意思,一层是 Continuous Delivery 持续交付,另一层是 Continuous Deployment 持续布署。
“持续” 这并不意味着“一直在运行”,而是“随时可运行”。
**持续交付(CD)**意味着软件可以随时发布到生产中,通常是通过自动化将更改推送到临时系统。
**持续部署(CD)**更进一步,并自动将更改推向生产系统。
持续部署是一个很优秀的方式,可以加速与客户的反馈循环,不再需传统的“发布日”。开发人员可以专注于构建软件,当开发人员在主分支中合并一个提交时,这个分支将被构建、测试,如果一切顺利,则部署到生产环境中。
下面借用GitLab上的一张图描述 CI/CD 工作流程