Подтвердить что ты не робот

Формат 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/"

?

4b9b3361

Ответ 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