Формат SVN "Включенные регионы" в Дженкинс
При настройке "включенных регионов" в проект Jenkins в тексте справки упоминается следующее:
Если установлено, и Дженкинс настроен на опрос изменений, Дженкинс проигнорирует любые файлы и/или папки, которых нет в этом списке, при определении того, нужно ли запускать сборку. Каждое включение использует регулярное сопоставление шаблонов выражений и должно быть разделено новой строкой.
Это полезно, когда вам нужно проверить весь ресурс для построения, но только хотите сделать сборку, когда подмножество изменилось.
/багажник/MyApp/с/Library1/.*
/Багажник/MyApp/с/library2/.*
Если/trunk/myapp вычеркнуто, сборка будет выполняться только при изменении поддеревьев c/library1 и c/library2. Если указаны также исключенные регионы, тогда файл не игнорируется, если он включен во включенный список, а не в исключенном списке.
Мне все еще не совсем ясно, что этот "ресурс" должен быть.
Предположим, что я просматриваю часть репозитория: https://svn.mydomain.com/repos/projects/myfancyproject/trunk
А также предположим, что я проверю его на папку под названием "проект"
Теперь предположим, что я хочу, чтобы сборка была вызвана, если что-то изменилось в папке "документы/cat-pictures/" репо.
Я должен положить:
- /багажник/документы/кошачьи фотографии /.*
- /документы/кошачьи фотографии /.*
- /репо/проекты/myfancyproject/багажник/документы/кошачьи фотографии /.*
- документы/кошачьи фотографии /.*
- багажник/документы/кошачьи фотографии /.*
Или даже: число с 1 по 5 с префиксом "theproject/"
?
Ответы
Ответ 1
Если ваш репозиторий
https://svn.mydomain.com/repos/projects/myfancyproject/trunk
и вы хотите только создать, если что-то изменится в documents/cat-pictures
, вы добавите следующее в список включений:
/trunk/documents/cat-pictures/*
который равен 1 в вашем списке.
В subversion "trunk", "tags" и "branch" - это только папки, и, хотя они, похоже, становятся стандартными именами, их можно было бы назвать "кошками", "собаками" и "птицами", если вы захотите.
Корень вашего репозитория находится в https://svn.mydomain.com/repos/projects/myfancyproject/
, и поэтому вы помещаете /trunk/documents/cat-pictures
в свой регион.
По крайней мере, это мое понимание.
Ответ 2
Ответ Сагара (№1 в вашем списке) не работал у меня. То, что работало на весь путь относительного URL-адреса (все после корня репозитория), которые являются измененными путями, вы можете увидеть в svn log -v
.
Итак, мои Jenkins Включенные регионы, чтобы включить только теги "RC":
/code/products/foo/tags/.*RC.*
И два примера ревизий, показывающие измененные пути, которые выполняют и не соответствуют:
> svn log -v -l2 svn+ssh://svn.foo.com/svnroot/code/products/foo/tags
------------------------------------------------------------------------
r175564 | joe | 2016-04-20 09:21:34
Changed paths:
A /code/products/foo/tags/1.1-RC1
1.1 Release Candidate 1
------------------------------------------------------------------------
r175530 | jane | 2016-04-19 09:40:18
Changed paths:
A /code/products/foo/tags/1.0
1.0 Release
------------------------------------------------------------------------
Вы также можете найти Относительный URL-адрес в svn info
:
> svn info svn+ssh://svn.foo.com/svnroot/code/products/foo/tags
Path: tags
URL: svn+ssh://svn.foo.com/svnroot/code/products/foo/tags
Relative URL: ^/code/products/foo/tags
Repository Root: svn+ssh://svn.foo.com/svnroot