无法在Hudson中获取SVN排除项

时间:2010-10-01 01:33:35

标签: svn hudson

假设Hudson作业检出2个SVN目录:

https://foo.com/packages (root is https://foo.com/packages) -> "packages" in workspace
https://bar.com/temp/Hudson (root is https://bar.com/temp) -> "Hudson" in workspace

我尝试了不同的东西,在网上浏览了答案,但我仍然无法让这两件事情起作用:

1)防止“Hudson”中的任何提交触发构建: 我在“排除区域”中尝试了几种路径组合但没有成功。

2)阻止消息中包含“CR:”的任何提交触发构建: 我在“Excluded Commit Messages”字段中尝试了“\ bCR:\ b”和其他内容,但它不起作用。

谢谢!

3 个答案:

答案 0 :(得分:0)

为什么不尝试另一个方向?在SVN中编写一个钩子脚本,仅在需要时调用Hudson。对于来自Hudson的提交,请不要​​触发构建。

答案 1 :(得分:0)

1-1)一种简单但又有点脏的方法是,有两个作业,第一个检测到一个存储库中的更改并触发第二个作业。第二个作业下载所有需要的源并运行构建。

亲:容易理解,没有多少摆弄。 缺点:你要么必须从一个存储库结账两次,要么找到一种可靠的方法将来源从job1复制到job2(例如Clone Workspace SCM),两个工作

1-2)在Hudson中配置一个存储库,并在第一个构建步骤中检查第二个存储库中的源。

亲:一份工作,简单的解决方案 con:您可能需要硬编码密码,错过了使用Hudson支持颠覆的美妙。

2)\bCR:\b看起来不像正则表达式。我建议您尝试类似.*CR:.*的内容,如果CR:必须位于第^CR.*行的开头

This page about regular expressions帮助我深入了解正则表达式,但它也包含初学者指南。

答案 2 :(得分:0)

正则表达式必须与要排除的路径完全匹配。它不能只是目录的名称。此外,它还必须包含一个前导斜杠。

例如,假设构建提交库并且提交不应该触发另一个构建。

SVN中目录的位置:

http://subversion.xyz.com/MyProject/lib

“排除区域”框中的内容:

/MyProject/lib/.*