Подтвердить что ты не робот

Jenkins запускает сборку, если выпущен новый тег

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

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

git jenkins config

триггера: build trigger

Спасибо за любую помощь

4b9b3361

Ответ 1

Что вы подразумеваете под новым тегом? У него есть имя шаблона?

Вы можете определить его в Дополнительно Refspecrefs/tags/{tagname}.

Вы даже можете сделать refs/tags/* для поиска действительно ЛЮБЫХ новых тегов.

enter image description here

Ответ 2

Установите refspec в: +refs/tags/*:refs/remotes/origin/tags/*

спецификатор ветки: **

Внутри триггеров сборки проверяйте сборку, когда изменение переносится на GitHub

Ответ 3

Обратите внимание, что подход предоставленный stanjer, не создает триггеры Jenkins для новых тегов, если они указывают на фиксации, которые были созданы ранее. Например, вы отмечаете выпуск v1.0.0 (чтобы развернуть этот выпуск jenkins), а затем в будущем вам нужно откат к v1.0.0, пометка его фиксации снова, но с откатом v1.0.0, Jenkins не будет развертывать ваши откат, потому что он проверяет хэш, на который указывает тэг, а не хэш самого тега.

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

Было бы здорово, если бы Дженкинс мог использовать CD-инструмент, работающий с тегами для развертывания и отката.

Подробнее здесь https://groups.google.com/forum/#!msg/jenkinsci-users/mYxtDNMz1ZI/xbX9-xM9BQAJ

Ответ 4

Предыдущая не работает для меня. В моем случае работает refspec в одинарных кавычках:

Refspec: '+refs/tags/*': 'refs/remotes/origin/tags/*' Спецификатор ветки: **/tags/**

ОБНОВЛЕНИЕ: у меня есть Дженкинс 2.120. Для выполнения работы, которая запускается по тегу, необходимо выполнить следующие шаги:

1) создать работу с:

Refspec: '+refs/tags/*': 'refs/remotes/origin/tags/*' Спецификатор ветки: **/tags/**

2) Запустить сборку

3) перенастроить то же задание на параметры:

Refspec: '+refs/tags/*': 'refs/remotes/origin/tags/*' Спецификатор ветки: **

4) Запустить сборку

5) перенастроить то же задание на параметры:

Refspec: '+refs/tags/*': 'refs/remotes/origin/tags/*' Спецификатор ветки: **/tags/**

6) Запустите сборку

Только после этого магического шага, когда я отмечаю ветку, она автоматически вызывает Дженкинс

Ответ 5

@albertski ответ работает, но не забудьте ниже дополнительные настройки: 1. Установочный хук от Bitbucket до Jenkins 2. Необходимо проверять опрос SCM

Вы можете проверить триггер, добавив новый тэг git из коммита в своем репозитории bitbucket.