Java 管理Hudson中的构建配置组

Java 管理Hudson中的构建配置组,java,maven-2,hudson,Java,Maven 2,Hudson,我正在使用Hudson构建我的应用程序。我有好几根树枝来来往往。每当有新分支时,我都必须为其设置以下构建: 在SVN中每次更改后运行的连续构建 夜间建造 每晚生成一个站点(我在幕后使用Maven) 每周为一些分支机构进行一次集成构建 目前,这意味着我需要复制四个模板配置,并使用分支URL设置它们。我不喜欢这样有两个原因: 它是冗余的,因此修改某些内容很容易出错,并且需要花费大量时间 我需要在每个构建从属上对每个分支的产品进行四次完整的签出,再加上四个独立的私有Maven存储库,更不用说构建

我正在使用Hudson构建我的应用程序。我有好几根树枝来来往往。每当有新分支时,我都必须为其设置以下构建:

  • 在SVN中每次更改后运行的连续构建
  • 夜间建造
  • 每晚生成一个站点(我在幕后使用Maven)
  • 每周为一些分支机构进行一次集成构建
目前,这意味着我需要复制四个模板配置,并使用分支URL设置它们。我不喜欢这样有两个原因:

  • 它是冗余的,因此修改某些内容很容易出错,并且需要花费大量时间
  • 我需要在每个构建从属上对每个分支的产品进行四次完整的签出,再加上四个独立的私有Maven存储库,更不用说构建的工件了。这浪费了很多空间

相反,我希望为所有这些构建提供一个工作区和一个配置。哈德逊能做到这一点吗

如果你假设你的夜间构建与持续构建相同。您可以将连续构建工件发布到包含日期的文件夹/存储库路径中。因此,您一天中的第二个和后续版本将覆盖该天的前一个版本

站点生成和每周集成构建更加困难,因为您需要有条件的构建步骤。(其想法是运行批处理/shell脚本,该脚本将确定是否该执行操作(如站点构建),并将其作为脚本的一部分运行)


在我看来,更好的解决方案是编写一个批处理/shell脚本(或者一个Java程序也可以),它复制模板并替换所有新作业中的svn条目。创建新分支有两个步骤。首先以SVN路径作为参数运行脚本,然后告诉Hudson重新加载配置。该解决方案的妙处在于,您可以在必要时更改模板,而无需更改脚本。

我也希望能够做到这一点。我看过维基和插件,我想答案是“不”。我希望我错了…是的。我也是这么想的。1.合并正在做相同事情的构建(如连续和夜间)。自动创建新的构建。