Jenkins中SVN"包含区域"的格式

Mar*_*ger 14 svn continuous-integration jenkins

在Jenkins项目中设置"包含区域"时,帮助文本提到:

如果设置,并且Jenkins设置为轮询更改,则在确定是否需要触发构建时,Jenkins将忽略此列表中不存在的任何文件和/或文件夹.每个包含使用正则表达式模式匹配,并且必须用新行分隔.

当您需要检出整个资源以进行构建时,这非常有用,但只希望在子集发生更改时进行构建.

/trunk/myapp/c/library1/.*
/trunk/myapp/c/library2/.*

如果检出/ trunk/myapp,则只有在c/library1和c/library2子树发生更改时才会进行构建.如果还指定了排除区域,则当文件位于包含列表中而不在排除列表中时,不会忽略该文件.

我仍然不太清楚这个"资源"应该是什么.

我们假设我查看了存储库的一部分:https://svn.mydomain.com/repos/projects/myfancyproject/trunk

我们还假设我将其检出一个名为"theproject"的文件夹

现在,让我们假设我只希望在repo的"documents/cat-pictures /"文件夹中发生更改时触发构建.

我应该投入:

  1. /trunk/documents/cat-pictures/.*
  2. /documents/cat-pictures/.*
  3. /repos/projects/myfancyproject/trunk/documents/cat-pictures/.*
  4. 文件/ CAT-图片/.*
  5. 行李箱/文件/ CAT-图片/.*

或者甚至:数字1到5带有"theproject /"前缀

Sag*_*gar 11

如果您的存储库是

https://svn.mydomain.com/repos/projects/myfancyproject/trunk
Run Code Online (Sandbox Code Playgroud)

并且您只想在内容发生变化时进行构建documents/cat-pictures,将以下内容添加到包含列表中:

/trunk/documents/cat-pictures/*
Run Code Online (Sandbox Code Playgroud)

这是你的清单上的1.

在颠覆中,"主干","标签"和"分支"只是文件夹,虽然它们似乎成为标准名称,但如果你愿意,它们可以被称为"猫","狗"和"鸟".

存储库的根目录为https://svn.mydomain.com/repos/projects/myfancyproject/,因此您将其/trunk/documents/cat-pictures作为包含的区域.

至少这是我的理解.

  • 关于这一点的一个警告是它取决于您的SVN服务器设置.在我们的服务器上,svn repo的根目录是`https:// svn.mydomain.com/repos/projects`所以我必须放入`/ myfancyproject/trunk/documents/cat-pictures /.*` (4认同)

wal*_*ter 5

萨加尔的回答(你的名单上的#1)对我不起作用。起作用的是整个相对 URL 路径(存储库根之后的所有内容),这些是可以在svn log -v.

所以我的 Jenkins Included Regions只包含“RC”标签:

/code/products/foo/tags/.*RC.*
Run Code Online (Sandbox Code Playgroud)

还有两个示例修订版,显示了匹配和不匹配的更改路径:

> 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
------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

您还可以在以下位置找到相对 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
Run Code Online (Sandbox Code Playgroud)