uberSVN ветвь после фиксации крюк
Мы используем uberSVN, установленный на linux. В репозитории " R" у нас есть разные ветви, и мне нужно запустить задание Дженкинса для фиксации на конкретной ветви " B". В ....репозиторий / R / hooks/ есть файл с именем post-commit . Содержимое файла находится ниже:
REPOS="$1"
REV="$2"
wget "http://jenkinsurl/job/project_r/build?tokten=r_token"
Приведенный выше сценарий вызывает wget всякий раз, когда РЕПО было запущено. С другой стороны, я хочу запустить "задание ветви" тогда и только тогда, когда есть фиксация на ветви "B " не все хранилища. Url-адрес jenkis находится ниже:
wget "http://jenkinsurl/job/project_r_b/build?tokten=r_b_token"
Как правильно это сделать?
2 ответа:
Вы можете позвонить
svnlook dirs-changed
чтобы получить измененные пути в зафиксированной ревизии. Передайте выходные данные этой команды вgrep
и найдите "ветви/b". Если вывод команды имеет "/ branches/b", то запустите задание. В противном случае-выход.Проверьте этот вопрос для примера кода: Посткоммитный крюк не удался (код выхода 3) с выходом.
Вы можете использовать опцию
Poll-SCM
в задании Дженкина. Задайте интервал опроса как каждую минуту* * * * *
или вы можете установить интервал опроса в 5 или 10 минут. С каждым опросом это будет проверять, есть ли изменения в вашей ветви svn. Если есть изменения, сборка будет активирована, иначе ничего. Эту опцию вы можете найти на странице конфигурации проекта под вкладкойBuild Triggers
.