如何在同一个克隆上进行持续集成和夜间构建

时间:2011-04-12 10:12:20

标签: triggers cruisecontrol.net nightly-build

我们现在正试图从SVN切换到HG。

我们正在使用CruiseControl.NET与特制的构建服务器进行持续集成,该服务器运行良好。 此外,我们开始每晚构建进行扩展测试,例如代码统计增强单元测试等。

现在我们的问题:

每晚构建的触发如下:

  <triggers>
        <scheduleTrigger time="3:00" buildCondition="IfModificationExists" />
  </triggers>

我们引用的是与持续集成相同的克隆。

在夜间,CruiseControl启动hg pull任务,返回“未检测到修改”,因为这些已在白天检测到。

我的问题

我可以配置触发器任务,以便检查上一个夜间构建和当前构建之间的变更集吗? 是否可以在MsBuild任务扩展中为巡航控制配置被调用的任务? 我们是否需要额外的克隆来进行夜间构建? 还有其他一些解决方案吗?

1 个答案:

答案 0 :(得分:0)

查看代码,我看不到基于存储库状态查找变更集的机制。

就个人而言,我要么去第二个克隆路线,要么使用ForceBuild条件而不是IfModificationExists来进行夜间构建。

有几种替代机制可以实现您正在寻找的结果,但在我看来,它们都会引入额外的“混乱”。最简单的方法之一可能是添加Filesystem Source Control Block并引用在标准集成构建过程中获取touched的文件。