GitLab 不单单只是作为一个代码版本控制的仓库,很多场景下使用 GitLab 作为整合 CI 持续集成就 CD 持续发布的工作平台,那么就是 GitLab 的 CI Pipeline 功能了。
CI Pipeline
试想一下,如果开发人员只需要编写代码,而编译、打包、测试等等集成的事情以及将打包后的线上全部交付给机器自动化去完成,那对效率是不是有极大的提高呢。
什么是 CI (Continuous Integration)
持续集成是指开发人员会持续的将代码更改提交到代码仓库中,更改会触发编译、测试等作业证明此次提交的代码是否满足预期要求,已确保新提交代码可以对原有代码进行集成,已防止新提交的代码造成部署后应用出现问题。
什么是 CD (Continuous Delivery)
持续交付是指持续集成的进一步扩展,已经正常通过测试及验证代码的稳定性,下一步就是将代码部署在预发环境中,可以使用自动化的方式重复的进行频繁的交付,这可以避免因为人工配置错误等原因造成问题。
从一个流水线说起
GitLab 中通过 .gitlab-ci.yml 来定义Pipeline、Stage、Job,该文件存在与项目的根目录下,当有代码提交时,将自动化触发到该流水线的作业。
stages 代表阶段&