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?
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