2009-07-29 38 views
2

我正在使用一台服务器连续和每晚构建相同的项目;不过,我希望每天只修改一次,以便在白天进行修改。我希望能够达到这一点,因为两个版本都使用相同的工作文件夹CruiseControl.NET每晚构建If修改后自上次构建标签以来存在

我正在考虑这两个选项是:

  1. 轮询的持续构建,只有建立在每晚构建是否发生了持续构建 - 可能采用一些象征性的系统(连续打造集令牌,夜间清除令牌)。

  2. 运行预生成任务恢复的源代码,最后建造时间

我朝它解耦构建脚本第二个选项倾斜,但它似乎是一个非常困难的任务。

建议和提示,这样做,将不胜感激!

添加的信息:

的CI构建是一个配置和 的 解决方案的快速构建,也许运行一些快速的单元测试。

每晚构建清洁构建 环境,构建软件,包成一个 安装,运行扩展测试,标签 的源代码库,部署 安装到服务器共享用于 手工测试人员回暖,并通过电子邮件 测试团队发现可测试版本 已经生成。

我只希望如果在白天有 任何检查插件,使测试人员没有得到与本质上是相同的构建重复邮件困扰要发生的 每日构建。

回答

1

我很高兴我的新的解决方案......

我使用MultiTrigger与scheduleTrigger并在每晚构建一个prjectTrigger(不如叫完整的构建)和WriteModification/ReadModification对传播的修改历史记录,如this question

3

我可能会简化这个任务,但是不能简单地在项目中设置两个触发器吗?一个时间间隔触发器用于连续构建,一个时间间隔触发器用于每晚构建的IfModificationExists条件。

<triggers> 
    <intervalTrigger seconds="60" name="Continuous" /> 
    <scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled"> 
     <weekDays> 
     <weekDay>Monday</weekDay> 
     </weekDays> 
    </scheduleTrigger> 
</triggers> 
+1

这是我的第一个想法,但这种方法的问题是,scheduleTrigger不会检测到任何修改。 – 2009-07-30 13:40:20