Gitlab-ci:扩展脚本部分

时间:2018-11-06 15:32:29

标签: continuous-integration gitlab yaml gitlab-ci

我有一个unity ci-project。  .gitlab-ci.yml包含具有一个.build命令的基本script作业。另外,我有多个指定的作业可用于构建扩展了基础.build的每个平台。我想为Android执行一些特定于平台的命令,因此我创建了单独的作业generate-android-apk。但是,如果失败了,管道也将失败。(我知道allow_failure)。无需复制粘贴就可以在作业之间扩展script部分吗?

1 个答案:

答案 0 :(得分:3)

您可以像这样利用“文字块”(使用|)来实现模块化脚本部分:

.template1: &template1 |
  echo install

.template2: &template2 |
  echo bundle

testJob:
  script:
  - *template1
  - *template2

请参见Source

自GitLab 11.3起,可以使用extend,它也可能对您有用。

.template:
  script: echo test
  stage: testStage
  only:
    refs:
      - branches

rspec:
  extends: .template1
  script: echo testJob
  only:
    variables:
      - $TestVar

请参见Docs