Пост-фиксация ветки uberSVN
Мы используем uberSVN, установленный на Linux. В репозитории "R" у нас есть разные ветви, и мне нужно запустить задание jenkins для фиксации в определенной ветви "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
и искать "филиалы / б". Если в выводе команды указано "/branch /b", запустите задание. Выходите иначе.
Проверьте этот вопрос для примера кода: ошибка после фиксации (код выхода 3) с выводом.
Вы можете использовать Poll-SCM
вариант в работе Дженкин. Дайте интервал опроса как каждую минуту * * * * *
или вы можете установить интервал опроса 5 или 10 минут. При каждом опросе это будет проверять, есть ли изменения в вашей ветви SVN. Если есть изменения, сборка будет запущена, иначе ничего. Эту опцию вы можете найти на странице конфигурации проекта на вкладке Build Triggers
,