Это можно сделать так. Основной сценарий находится в части шаблона.
# The template part that contains the build script it self.
.build_gitbook: &gitbook_build_script
script:
- gitbook build common_operations_infos _book
- 'rm -rf $DOC_DIR/help'
- 'mkdir -p $DOC_DIR/help'
- 'cp -r _book/* $DOC_DIR/help'
artifacts:
paths:
- _book
expire_in: 10 mins
# Builds gitbook on the master branch
build_gitbook_master:
<<: *gitbook_build_script
variables:
DOC_DIR: '/var/www/doc'
only:
- master
# Builds gitbook on other branch
build_gitbook_others:
<<: *gitbook_build_script
variables:
DOC_DIR: '/var/www/dev-doc'
except:
- master
Это все еще не идеальное решение, поскольку для этого требуется две работы. Если они запускаются в ручном режиме ( когда: manual ), тогда разработчик должен выбрать правильное задание в зависимости от отрасли.