В настоящее время у меня есть два задания в файле CI, которые почти идентичны.
Первый - это ручная компиляция сборки выпуска из любой git ветви.
deploy_internal:
stage: deploy
script: ....<deploy code>
when: manual
Второй планировщик должен использовать для выпуска ежедневной сборки из ветки develop .
scheduled_deploy_internal:
stage: deploy
script: ....<deploy code from deploy_internal copy/pasted>
only:
variables:
- $MY_DEPLOY_INTERNAL != null
Неправильно повторять весь код развертывания в двух местах. Становится хуже. Существуют также варианты deploy_external, deploy_release и запланированные.
Мой вопрос: есть ли способ, которым я могу комбинировать deploy_internal
и scheduled_deploy_internal
таким образом, чтобы сохранить ручное / запланированное поведение (в основном DRY) ?
В качестве альтернативы: есть ли лучший способ структурирования моих работ?
Редактировать:
Оригинальное название: Развернуть задание. Выполнить вручную, за исключением запланированного времени