Не удается заставить работать SVN-исключения в Гудзоне - PullRequest
1 голос
/ 01 октября 2010

Предполагая, что задание Hudson проверяет 2 каталога SVN:

https://foo.com/packages (root is https://foo.com/packages) -> "packages" in workspace
https://bar.com/temp/Hudson (root is https://bar.com/temp) -> "Hudson" in workspace

Я пробовал разные вещи, просматривал ответы в Интернете, но все еще не могу заставить эти 2 вещи работать:

1) Запретить любой коммит в «Гудзоне» от запуска сборки: я безуспешно пробовал несколько комбинаций путей в «Исключенных регионах».

2) Запрет любого коммита, содержащего «CR:» в сообщении, вызватьbuild: я пробовал "\ bCR: \ b" и другие в поле "сообщения об исключенных фиксациях", но это не работает.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 01 октября 2010

1-1) Простой, но грязный способ состоит в том, чтобы иметь два задания, первое обнаруживает изменения в одном из ваших хранилищ и запускает второе задание.Второе задание загружает все необходимые исходные коды и запускает сборку.

Pro: легко понять, не тратить много времени.минусы: вам нужно либо дважды извлечь из одного репозитория, либо найти надежный способ скопировать источники из job1 в job2 (например, Clone Workspace SCM), два задания

1-2) Сконфигурировать один репозиторий в Hudson и проверитьисходники из второго репозитория на первом этапе сборки.

Pro: одна работа, простое решение: вам может понадобиться жесткий код паролей, не хватает красоты использования поддержки Hudson для подрывной деятельности.

2) \bCR:\b не похоже на регулярное выражение.Я бы посоветовал вам попробовать что-то вроде .*CR:.*, и если CR: должно быть в начале строки ^CR.*

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

0 голосов
/ 08 марта 2011

Регулярное выражение должно полностью соответствовать пути, который исключается. Это не может быть просто имя каталога. Кроме того, он также должен содержать начальную косую черту.

Например, например, сборка фиксирует библиотеки, и эта фиксация не должна запускать другую сборку.

Расположение каталога в SVN:

http://subversion.xyz.com/MyProject/lib

Что входит в поле Исключить регионы:

/MyProject/lib/.*
0 голосов
/ 01 октября 2010

Почему бы не попробовать другое направление? Напишите хук-скрипт в SVN, который вызывает Hudson только при необходимости. Для коммитов, пришедших из Гудзона, вообще не запускайте сборку.

...