Как включить опрос SCM с плагином Jenkins Pipeline

Это вопрос, связанный с Как сделать опрос SCM с плагином Jenkins Workflow. Этот поток отвечает, как использовать опрос SCM в конвейере script один раз. Опрос SCM включен, но не охватывает, как включить опрос SCM.

Например, если вы хотите использовать mulit-branch protocol plugin для создания заданий автоматически с использованием файла Jenkins, нет способа знать, что опция "Опрос SCM" включена в задании. Это затрудняет предоставление условий по требованию, таких как создание контейнера докеров, у которого есть настройка заданий с самого начала. Потому что вам нужно будет войти в Jenkins и перейти к конфигурации и выбрать опцию "Poll SCM" после запуска контейнера. Cloudbees предлагает шаблонный плагин, чтобы помочь решить эту проблему.

Однако это недоступно Дженкинсу, используя бесплатную версию. Есть ли какое-либо решение или решение для пользователей в бесплатной версии Jenkins?

Ответ 1

если вы хотите использовать плагин с несколькими ветками для создания заданий автоматически с использованием файла Jenkins, я не знаю, как включить параметр "Опрос SCM" в задании

Ничего не нужно. Многоканальные проекты имеют настраиваемый интервал опроса для индексации ветвей в целом, который также служит триггером для каждой ветки, а также автоматически получает веб-записи.

Ответ 2

Чтобы ответить на вопрос, как включить опрос SCM, вам необходимо сделать следующее.

Используя генератор синтаксиса Pipeline Syntax и "properties: Set job properties", вы можете создать следующее, которое будет включать опрос SCM.

properties([pipelineTriggers([pollSCM('')])])

Однако, поскольку Джесси Глик указывает на многоканальные конвейеры, вам не нужно включать опрос SCM.

Ответ 3

Я думаю об одной и той же проблеме.

Если вы используете онлайн-сервис Git, например Github или Bitbucket, я думаю, вы могли бы использовать их функции Webhooks для его решения. Я еще не смог проверить решение, но он должен работать.

В конфигурации Multibranch Pipeline включите параметр Trigger builds remotely.

Затем вам нужно включить свой Github/Bitbucket Webhook в вашем репозитории, используя путь (как описано в описании конфигурации Jenkins): JENKINS_URL/job/test/build?token=TOKEN_NAME