Формат СВН "Включенные регионы" в Дженкинс - PullRequest
14 голосов
/ 01 сентября 2011

При настройке «включенных регионов» в проекте Jenkins в тексте справки упоминается:

Если установлено, а Jenkins настроен на опрос изменений, Jenkins будет игнорировать любые файлы и / или папки, которых нет в этом списке, при определении необходимости запуска сборки. Каждое включение использует сопоставление с образцом регулярного выражения и должно быть отделено новой строкой.

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

/ багажник / MyApp / с / Library1 /.*
/trunk/myapp/c/library2/.*

Если / trunk / myapp извлечен, сборка будет происходить только при наличии изменений в поддеревьях c / library1 и c / library2. Если также указаны исключенные регионы, то файл не игнорируется, если он находится в списке включенных и отсутствует в списке исключенных.

Мне все еще не совсем ясно, каким должен быть этот "ресурс".

Давайте предположим, что я извлекаю часть хранилища: https://svn.mydomain.com/repos/projects/myfancyproject/trunk

И давайте также предположим, что я проверил это в папке с именем "theproject"

Теперь давайте предположим, что я хочу, чтобы сборка запускалась только в том случае, если что-то меняется в папке «Documents / Cat-Pictures /» репозитория.

Должен ли я ввести:

  1. / багажник / документы / кошачьи картины /.*
  2. / документы / кошачьи фотографии /.*
  3. / репо / проекты / myfancyproject / ствол / документы / кошачьи картины /.*
  4. документы / кошачьи фотографии /.*
  5. хобота / документы / кошачьи фотографии /.*

Или даже: числа от 1 до 5 с префиксом "theproject /"

Ответы [ 2 ]

11 голосов
/ 02 сентября 2011

Если ваш репозиторий имеет значение

https://svn.mydomain.com/repos/projects/myfancyproject/trunk

и вы хотите создать его, только если что-то изменится в documents/cat-pictures, вы добавляете в свой список включений следующее:

/trunk/documents/cat-pictures/*

, что1 в вашем списке.

В subversion «ствол», «теги» и «ветви» являются только папками, и, хотя они стали стандартными именами, их можно назвать «кошками», «собаками» и «птицами».если вы хотите.

Корень вашего хранилища находится на https://svn.mydomain.com/repos/projects/myfancyproject/, поэтому вы указали /trunk/documents/cat-pictures в качестве включенного региона.

По крайней мере, это мое понимание.

4 голосов
/ 20 апреля 2016

Ответ Сагар (# 1 в вашем списке) не сработал для меня. То, что сработало, - это полный относительный путь URL (все после корня репозитория), то есть измененные пути , которые вы можете увидеть в svn log -v.

Итак, мои Дженкинс Включенные регионы , чтобы включать только теги "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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...