Ответ 1
Что вы подразумеваете под новым тегом? У него есть имя шаблона?
Вы можете определить его в Дополнительно → Refspec → refs/tags/{tagname}
.
Вы даже можете сделать refs/tags/*
для поиска действительно ЛЮБЫХ новых тегов.
Я хочу настроить jenkins так, чтобы он начал строить, если новый тег будет выпущен в любой ветки репозитория git. Как настроить это поведение?
Я очень новичок в jenkins, поэтому извините меня, если это может быть очень простой вопрос, но я не мог найти это сам.
триггера:
Спасибо за любую помощь
Что вы подразумеваете под новым тегом? У него есть имя шаблона?
Вы можете определить его в Дополнительно → Refspec → refs/tags/{tagname}
.
Вы даже можете сделать refs/tags/*
для поиска действительно ЛЮБЫХ новых тегов.
Установите refspec в: +refs/tags/*:refs/remotes/origin/tags/*
спецификатор ветки: **
Внутри триггеров сборки проверяйте сборку, когда изменение переносится на GitHub
Обратите внимание, что подход предоставленный 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
Предыдущая не работает для меня. В моем случае работает 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) Запустите сборку
Только после этого магического шага, когда я отмечаю ветку, она автоматически вызывает Дженкинс
@albertski ответ работает, но не забудьте ниже дополнительные настройки: 1. Установочный хук от Bitbucket до Jenkins 2. Необходимо проверять опрос SCM
Вы можете проверить триггер, добавив новый тэг git из коммита в своем репозитории bitbucket.