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 2

2 ответа:

Вы можете позвонить svnlook dirs-changed чтобы получить измененные пути в зафиксированной ревизии. Передайте выходные данные этой команды в grep и найдите "ветви/b". Если вывод команды имеет "/ branches/b", то запустите задание. В противном случае-выход.

Проверьте этот вопрос для примера кода: Посткоммитный крюк не удался (код выхода 3) с выходом.

Вы можете использовать опцию Poll-SCM в задании Дженкина. Задайте интервал опроса как каждую минуту * * * * * или вы можете установить интервал опроса в 5 или 10 минут. С каждым опросом это будет проверять, есть ли изменения в вашей ветви svn. Если есть изменения, сборка будет активирована, иначе ничего. Эту опцию вы можете найти на странице конфигурации проекта под вкладкой Build Triggers.