web-dev-qa-db-fra.com

Gitlab-ci: étendre la section de script

J'ai un nité ci-projet . .gitlab-ci.yml contient la base .build travail avec une commande script. J'ai également plusieurs travaux spécifiés pour construire chaque plate-forme qui a étendu la base .build. Je souhaite exécuter certaines commandes spécifiques à la plate-forme pour Android, j'ai donc créé un travail séparé generate-Android-apk. Mais s'il échoue, le pipeline échouera également. (Je connais allow_failure). Est-il possible d'étendre la section script entre les travaux sans copier-coller?

9
orion_tvv

Vous pouvez réaliser des sections de script modulaires en utilisant des "blocs littéraux" (en utilisant |) comme ceci:

.template1: &template1 |
  echo install

.template2: &template2 |
  echo bundle

testJob:
  script:
  - *template1
  - *template2

Voir Source

Depuis GitLab 11.3, il est possible d'utiliser extend qui pourrait également fonctionner pour vous.

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

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

Voir Documents

8
fuma