Я пытаюсь перенести старомодные задания DSL Jenkins (в Groovy) на новую описательную форму конвейера.
Поскольку я очень новичок в конвейере и не смог найти никакого ответа на моя проблема с noob, сначала я опишу свой сценарий здесь:
- Предположим, у меня есть 3 задания DSL: одно для создания и сохранения артефакта, сгенерированного в репозитории, таком как Artifactory, другое для тегирования главной ветви и последний используется для развертывания в продукт. Все задания используют один и тот же репозиторий Git.
- Задание сборки обычно выполняется много раз во время разработки. Его можно запустить вручную или в ответ на события в репо Git, например, запросы на слияние и толчки.
- Для простоты, давайте предположим, что заданию тегирования нужно только пометить главную ветку в репо. Это будет выполняться только время от времени, вручную, когда мы почти уверены, что основная ветвь будет go расширяться.
- Артефакт развертывается с использованием третьего задания, также вручную.
Итак, вот мои вопросы:
- Как я понимаю, у нас может быть только один файл на ветку в репо, так как я могу настроить такую настройку, используя конвейер, определенный только в одном Jenkinsfile?
- Как я могу вручную запускать только задание тегирования (то есть компилировать / тестировать / генерировать артефакт без загрузки, а затем, если все в порядке, пометить версию)?
- В этой ситуации это будет для меня будет проще, если я просто реализую работу по сборке в конвейере и оставлю остальные как сценарии DSL?
Большое спасибо за любые предложения!