一、概念普及
1.CI/CD
CI(continuousintegration):持续集成,即在代码构建过程中持续地进行代码的集成、构建、以及自动化测试等;有了CI工具,我们可以在代码提交的过程中通过单元测试等尽早地发现引入的错误。
CD(continuousDeployment):持续交付,在代码构建完毕后,可以方便地将新版本部署上线,这样有利于快速迭代并交付产品。
2.gitlabCI/CD
GitLabCI/CD(后简称GitLabCI)是一套基于GitLab的CI/CD系统,可以让开发人员通过.gitlab-ci.yml在项目中配置CI/CD流程,在提交后,系统可以自动/手动地执行任务,完成CI/CD操作。而且,它的配置非常简单,CIRunner由Go语言编写,最终打包成单文件,所以只需要一个Runner程序、以及一个用于运行jobs的执行平台(如裸机+SSH,Docker或Kubernetes等,我推荐用Docker,因为搭建相当容易)即可运行一套完整的CI/CD系统。
3.gitlab-Job
Job为任务,是GitLabCI系统中可以独立控制并运行的最小单位。在提交代码后,开发者可以针对特定的