When setting up “included Regions” on a Jenkins project, the help text mentions this:
If set, and Jenkins is set to poll for changes, Jenkins will ignore any files and/or folders that are not in this list when determining if a build needs to be triggered.
Each inclusion uses regular expression pattern matching, and must be separated by a new line.This is useful when you need to check out an entire resource for building, but only want to do the build when a subset has changed.
/trunk/myapp/c/library1/.*
/trunk/myapp/c/library2/.*If /trunk/myapp is checked out, the build will only occur when there are changes to either the c/library1 and c/library2 subtrees.
If there are also excluded regions specified, then a file is not ignored when it is in the included list and not in the excluded list.
It’s still not quite clear to me what this “resource” is supposed to be.
Let’s assume I check out part of a repository: https://svn.mydomain.com/repos/projects/myfancyproject/trunk
And let’s also assume I check it out to a folder called “theproject”
Now, let’s assume I only want the build to get triggered if something changes in the “documents/cat-pictures/” folder of the repo.
Am I supposed to put in:
- /trunk/documents/cat-pictures/.*
- /documents/cat-pictures/.*
- /repos/projects/myfancyproject/trunk/documents/cat-pictures/.*
- documents/cat-pictures/.*
- trunk/documents/cat-pictures/.*
Or even: Number 1 through 5 with a “theproject/” prefix
?
If your repository is
and you only want to build if something changes in
documents/cat-pictures, you add the following to your inclusions list:which is 1 on your list.
In subversion, “trunk”, “tags” and “branches” are only folders, and while they have seem to become standard names, they could be called “cats”, “dogs”, and “birds” if you wanted.
The root of your repository is at
https://svn.mydomain.com/repos/projects/myfancyproject/, and so you put/trunk/documents/cat-picturesas your included region.At least this is my understanding.