Svn Hudson-SCM轮询配置,用于检测子项目的修订更改

Svn Hudson-SCM轮询配置,用于检测子项目的修订更改,svn,version-control,hudson,Svn,Version Control,Hudson,我有一个maven项目,它有两个子项目,在我的svn存储库中使用svn:externals定义。换句话说,我的项目层次结构如下: -父项目 计划 测试项目 当我配置hudson作业时,我只输入父项目的SVN地址。当我手动触发构建时,我能够检查所有层次结构并能够运行所有maven目标 所以现在,我想为我的构建配置一个SCM轮询机制,这样当我提交代码(尤其是子项目)时,就会触发一个构建。问题是SCM轮询查看父项目的修订号,但它没有检测到子项目的修订更改 有没有办法强迫哈德逊同时查看我的子项目版本

我有一个maven项目,它有两个子项目,在我的svn存储库中使用svn:externals定义。换句话说,我的项目层次结构如下:

-父项目

  • 计划
  • 测试项目
当我配置hudson作业时,我只输入父项目的SVN地址。当我手动触发构建时,我能够检查所有层次结构并能够运行所有maven目标

所以现在,我想为我的构建配置一个SCM轮询机制,这样当我提交代码(尤其是子项目)时,就会触发一个构建。问题是SCM轮询查看父项目的修订号,但它没有检测到子项目的修订更改

有没有办法强迫哈德逊同时查看我的子项目版本变更?你还有别的想法吗


提前谢谢

您可以指定多个存储库URL并将它们放在适当的位置。例如:

父项目:

存储库URL:

本地模块目录:

./somepath/project/tests
项目:

存储库URL:

本地模块目录:

./somepath/project/tests
测试项目:

存储库URL:

本地模块目录:

./somepath/project/tests

然后Hudson将对任何
repoparent/trunk
repoproject/trunk
、和
repotest/trunk

中的更改做出反应。我的父项目已经在pom.xml中将我的子项目视为模块,因此,当我触发构建作业时,所有maven目标(父子项目)都将被执行。那么,将所有3个svn存储库添加到作业中是真的吗?PS:我已经解决了提交后钩子方法()的问题。感谢您的回复,只要您能够轻松访问post-commit钩子,post-commit钩子可能是最好的选择。轮询选项将有一个不必要的签出(虽然没有那么糟糕,但仍然没有那么优雅)。我想你应该把答案贴出来。
./somepath/project
svn://server/repotest/trunk
./somepath/project/tests