持续集成(Continuous Integration)
持续集成指的是频繁的将代码集成到主干,每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证,它的好处主要有两个:
- 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;
- 防止分支大幅偏离主干。如果不经常集成,很容易导致集成难度变大,以至于难以集成。
GitLab CI/CD
从8.0
版开始,GitLab
持续集成(CI)完全集成到GitLab
本身,它还具有持续部署和持续交付功能,可用于构建、测试和部署你的应用程序。下面是GitLab CI/CD
流程图。
那么怎样让GitLab CI
工作起来呢?总结起来就两条:
- 将
.gitlab-ci.yml
文件添加到远程仓库的根目录; - 将
GitLab
项目配置为使用Runner
设置好这些后,你每次push
代码到Git
仓库,Runner
都会自动触发CI pipeline
,你可以在项目的Pipelines
页面下。如下图所示:
如果一切运行正常,你可以看到绿色复选标记,这样你就可以在查看代码之前轻松查看任何提交是否导致测试失败。
.gitlab-ci.yml
说了这么多,那么.gitlab-ci.yml
是什么,怎么创建呢?下面就来了解一下。
.gitlab-ci.yml
文件配置CI
对项目执行的操作,它告诉GitLab runner
该做什么。它位于存储库的根目录中,你代码的每次提交,GitLab
都会查找.gitlab-ci.yml
这个文件,并根据这个文件的内容,在Runner
上启动你提交的工作。
默认情况下,它运行一个包含三个stage
的管道:build
,test
,deploy
。你不需要使用所有三个stage
,没有工作的stage
将会被忽略。