在查阅GitLab官网的CI/CD功能说明时,全是英文看起来不方便,经过翻译软件自动翻译后“内容失真”,看起来很变扭。查阅了百度上的资料发现不少翻译很老旧,有些甚至是挂羊头卖狗肉。痛定思痛,决定本身翻译分享出来。html
下面是第一篇翻译,若有不对的地方请指正。git
翻译源文件:缓存
https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.htmlruby
正文:gitlab
在使用GitLab CI / CD以前,您须要先具有下面2个条件:测试
.gitlab-ci.yml的CI/CD的配置文件。
在.gitlab-ci.yml
文件中,能够作下面定义:ui
script要被划分在相应的job中,各个job组成了一个很大的pipeline。你能够将多个独立的job组织在一个按定义顺序运行的stages中。spa
你应该合理的组织job顺序,该顺序应该与你实际的测试流程一致。为了可视化该过程,假设添加到做业中的脚本与你在电脑上运行的CLI命令相同。翻译
当.gitlab-ci.yml
文件添加到仓库根目录里时,GitLab会自动检测到它,而后GitLab Runner程序会自动运行.gitlab-ci.yml中定义的每一个job。3d
示例:一个.gitlab-ci.yml
文件可能包含下面内容:
stages: - build - test build-code-job: stage: build script: - echo "Check the ruby version, then build some Ruby project files:" - ruby -v - rake test-code-job1: stage: test script: - echo "If the files are built successfully, test some files with one command:" - rake test1 test-code-job2: stage: test script: - echo "If the files are built successfully, test other files with a different command:" - rake test2
上面例子中,定义在stages中的build stage会先运行,本例中的build stage只有1个:build-code-job,该job的script块中定义了3个脚本:首先打印一些构建提示信息,而后输出Ruby版本,最后运行rake命令
构建项目文件。若是build-code-job成功运行了,则会同时运行stages中的全部test stage,本例中的test stage有2个,job名称分别叫test-code-job一、test-code-job2。
该示例中的完整pipeline由3个job组成,分为两个stages:build
和test
。代码仓库里的任何分支下的任何文件的修改都会触发pipeline的自动运行。
GitLab CI / CD不只能够执行做业,还会向你显示执行期间发生的状况,相似下面的截图:
你能够为代码程序建立构建策略,GitLab会根据你定义的内容运行pipeline。你的pipeline状态也会经过GitLab展现:
若是有任何问题,能够 回滚更改:
下一篇翻译敬请期待~