你好,我是四火。
今天,我们继续 Ops 三部曲。今天我要讲一讲持续集成和持续发布,以及 Web 全栈项目中一些常见的测试维度。
CI/CD 和 Pipeline
CI 指的是 Continuous Integration,持续集成,而 CD 指的是 Continuous Delivery,持续交付。它们二者结合起来,通过将工程师的代码变更反复、多次、快速地集成到代码主线,执行多种自动化的测试和验证,从而给出快速反馈,并最终达到将变更持续、迅速发布到线上的目的。
为了达到持续集成和持续交付,我们几乎一定会使用一个叫做 pipeline 的工具来将流程自动化。Ops 中我们总在谈论的 Pipeline,指的就是它。Pipeline 是一个将代码开发、编译、构建、测试、部署等等 Ops 活动集成起来并自动化的基础设施。把 Pipeline 放在最先讲,是因为它是集成 Ops 各种自动化工具的核心,而这一系列工具,往往从编译过程就开始,到部署后的验证执行结束。
Pipeline 确定和统一了从开发、测试到部署的主要流程,但最大的作用是对劳动力的解放。程序来控制代码从版本库到线上的行进流程,而非人。因此,如果一个 pipeline 上面设置太多个需要人工审批的暂停点,这样的自动化就会失去一大部分意义。