web-dev-qa-db-ja.com

Gitlab-ci:拡張スクリプトセクション

nity ci-project があります。 .gitlab-ci.yml には、1つのscriptコマンドを含む基本.buildジョブが含まれています。また、ベース.buildを拡張した各プラットフォームをビルドするために複数の指定されたジョブがあります。 Android用のプラットフォーム固有のコマンドをいくつか実行したいので、個別のジョブgenerate-Android-apkを作成しました。しかし、それが失敗した場合、パイプラインも失敗します(allow_failureについて知っています)。コピー貼り付けなしでジョブ間でscriptセクションを拡張することは可能ですか?

9
orion_tvv

次のように、「|」を使用して「リテラルブロック」を利用することにより、モジュール式のスクリプトセクションを実現できます。

.template1: &template1 |
  echo install

.template2: &template2 |
  echo bundle

testJob:
  script:
  - *template1
  - *template2

参照 ソース

GitLab 11.3以降では、extendを使用することもできます。

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

rspec:
  extends: .template1
  after-script: echo test job
  only:
    variables:
      - $TestVar

Docs を参照

8
fuma