官网GitLab CI/CD英文文档翻译

在查阅GitLab官网的CI/CD功能说明时,全是英文看起来不方便,经过翻译软件自动翻译后“内容失真”,看起来很变扭。查阅了百度上的资料发现不少翻译很老旧,有些甚至是挂羊头卖狗肉。痛定思痛,决定本身翻译分享出来。html

下面是第一篇翻译,若有不对的地方请指正。git

翻译源文件:缓存

https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.htmlruby

 

正文:gitlab

.gitlab-ci.yml文件


在使用GitLab CI / CD以前,您须要先具有下面2个条件:测试

  • 一个托管在Git存储库中的应用程序代码库;
  • 在该仓库根目录下建立一个叫.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:buildtest。代码仓库里的任何分支下的任何文件的修改都会触发pipeline的自动运行。

GitLab CI / CD不只能够执行做业,还会向你显示执行期间发生的状况,相似下面的截图:

 

 你能够为代码程序建立构建策略,GitLab会根据你定义的内容运行pipeline。你的pipeline状态也会经过GitLab展现:

 

 若是有任何问题,能够 回滚更改:

 

 查看.gitlab-ci.yml文件的完整语法

 

下一篇翻译敬请期待~

相关文章
相关标签/搜索