У меня есть проект Github с множеством веток.
Example
master
staging
feature-1
feature-2
У меня есть задание Jenkins, в котором включена опция «Poll SCM» со следующим cronjob (10 7,9,11,13,15,17,19 * * 1-5)
Однако эта работа начнется, когда в master также будут внесены изменения.
Я хочу, чтобы работа Дженкинса запускалась только после фиксации в промежуточной ветке.
Вот вывод журналов опроса
Started on Nov 20, 2018 1:10:00 PM
no polling baseline in /var/jenkins_workspace/workspace/Staging-ALL-Deploy@libs/jenkins-pipeline-global-lib on
Using strategy: Default
[poll] Last Built Revision: Revision efccc8e212470802d64537e0a5e710f9b5c063b6 (refs/remotes/origin/staging)
> git --version # timeout=10
> git ls-remote -h http://git.company.com/org/repo.git # timeout=10
Found 56 remote heads on http://git.company.com/org/repo.git
[poll] Latest remote head revision on refs/heads/staging is: efccc8e212470802d64537e0a5e710f9b5c063b6 - already built by 171
Using strategy: Default
[poll] Last Built Revision: Revision efccc8e212470802d64537e0a5e710f9b5c063b6 (refs/remotes/origin/staging)
> git --version # timeout=10
> git ls-remote -h http://git.company.com/org/repo.git # timeout=10
Found 56 remote heads on http://git.company.com/org/repo.git
[poll] Latest remote head revision on refs/heads/master is: 865459e59ef5f91fddbd7453d9f2205560327c44
Done. Took 0.46 sec
Changes found
Это возможно?
Спасибо Джон





Вы можете указать, какую ветку хотите построить, следующим образом:
Настроить -> вкладка "Управление исходным кодом" -> Переход к сборке -> Спецификатор ветки
просто напишите постановку в этом разделе. Затем перейдите на вкладку «Сборка триггеров» и выберите триггер перехватчика GitHub для опроса GITScm.
Не забудьте добавить webhook <YOUR-JENKINS-URL>/github-webhook/ в свой проект Github и выбрать отправку push-событий как json.
Таким образом, вы можете создавать сборку всякий раз, когда выполняется нажатие на определенную ветку. При объединении он будет извлекать репозиторий с заданными временными интервалами, что намного дороже.
Я вижу в разделе «Дополнительные режимы поведения» параметр «Не запускать сборку по уведомлениям о фиксации», который, похоже, будет работать.
Спасибо @ElijahLynn. У меня тоже сработали дополнительные поведения.
@secil как бы выглядел jenkinsfile
Что делать, если у вас есть два репозитория, и вы хотите создать только одну из веток в одном из репозиториев? Текущее поведение, похоже, вызывает толчок к любой ветке / репо.