вызвать задание jenkins, когда новый тег помещается без фиксации нового кода - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу запустить сборку jenkins, если новый тег помещен в удаленный репозиторий. Я видел несколько постов, но ни один, кажется, не работает для меня. Моя сборка успешно запускается, когда я нажимаю на тег, содержащий новые коммиты, но если я помещаю новый тег на старые коммиты, это не вызывает сборку.

Я настроил его, используя плагин git в Jenkins и добавив значение Refscpec как +refs/tags/*:refs/remotes/origin/tags/* и спецификатор Branch как */tags/*

Теперь, если я бегу:

git push origin master
git tag release-beta
git push origin release-beta
git tag release-prod
git push origin release-prod

Сборка успешно запущена для тега release-beta, но не для release-prod.

Это означает, что jenkins всегда ищет идентификаторы коммитов, если есть новый идентификатор коммита, связанный с тегом, он будет строить задание.

Я хочу объединить свой код с главной веткой, пометить его как 'release-beta' и развернуть в бета-конвейере. После завершения бета-тестирования я хочу пометить тот же код, что и 'release-prod', и развернуть рабочий конвейер из того же задания jenkins.

1 Ответ

0 голосов
/ 17 апреля 2019

https://github.com/jenkinsci/generic-webhook-trigger-plugin, возможно, стоит посмотреть, так как это позволит вам запускать сборки для тегов только путем фильтрации по ref (например, ^(refs/tags/.+)$):

{
  "before": "1848f1236ae15769e6b31e9c4477d8150b018453",
  "after": "5cab18338eaa83240ab86c7b775a9b27b51ef11d",
  "ref": "refs/heads/develop"
}

Это может включать создание триггера Webhook из вашего менеджера хранилища до http://$YOUR_JENKINS_HOME_URL/jenkins/generic-webhook-trigger/invoke?token=abc123 и, конечно, предполагается, что ваш менеджер хранилища для начала поддерживает Webhooks.


К сожалению, что касается нативной поддержки через git-плагин, это в настоящее время открытая проблема: https://issues.jenkins -ci.org / browse / JENKINS-14917

enter image description here

И есть соответствующий вопрос SO с гораздо большей детализацией и тягой: Запустите конвейер Jenkins, пометив существующий коммит

...