7

有没有办法将 Hudson 配置为仅在 SVN/CVS 发生更改时执行 Build 或 Post Build 操作

谢谢

4

2 回答 2

10

您可以让 Hudson 轮询 SCM 以查找更改,并且仅在发现更改时才执行操作。

轮询 SCM:配置 Hudson 以轮询 SCM 中的更改。

请注意,这对于 CVS 来说将是一项昂贵的操作,因为每次轮询都需要 Hudson 扫描整个工作空间并与服务器进行验证。考虑设置“推送”触发器以避免这种开销,如本文档中所述

您还可以在 SCM 提交后挂钩中添加一些内容,以触发 Hudson 构建。

远程触发构建(例如,从脚本):如果您想通过访问特殊的预定义 URL(方便脚本)来触发新构建,请启用此选项。

此功能的一个典型示例是从源代码控制系统的挂钩脚本触发新构建,当有人刚刚将更改提交到存储库时,或者从解析源代码控制电子邮件通知的脚本。

您需要以字符串的形式提供授权令牌,以便只有知道它的人才能远程触发该项目的构建。

于 2009-08-07T19:46:41.453 回答
0

除非您的构建是针对整个 subversion 存储库,否则它不像查看修订号(如其他地方所述)那么简单。通常,您的项目共享一个 subversion 存储库,并且您正在构建一些子树。全局修订号没有帮助。

'svn info [url_to_subtree]' 将显示最后更改日期。您可以解析它并确定它是否晚于您的上次构建日期并触发新构建。

于 2010-01-26T23:27:11.017 回答