CruiseControl.net cronTrigger混乱

时间:2011-09-07 09:29:59

标签: cruisecontrol.net crontrigger

我在cc.net中为同一个Web应用程序设置了2个项目。使用间隔触发器并且工作正常的持续集成项目和使用cronTrigger的“夜间构建”项目。每晚构建基本上构建和部署登台/测试服务器,以便人们可以在每次有人提交时进行测试而不会被重建中断。我想要做的是每天早上6点自动构建它,并允许强制构建,如果你想建立任何其他时间。我使用的cron表达式是0 6 * * *,我认为这是正确的,似乎在cc.net中正确设置了“下一个构建时间”。我遇到的问题是,如果我将构建条件设置为IfModificationExists,那么如果自上次构建以来没有修改,它就不会在预定的时间构建,这很好,但是一旦有人提交,它就会构建,这不是我想要的,我希望它等到下一个预定的时间。所以我尝试将构建条件设置为ForceBuild,我认为只要每天早上6点构建它,无论是否有任何提交,但它似乎并不是一次又一次地构建它。我错过了什么错误?

修改 不确定这是否真的提供了更多有用的信息,而是进一步发表评论。

<triggers>
    <cronTrigger>
      <buildCondition>IfModificationExists</buildCondition>
      <cronExpression>0 6 * * *</cronExpression>
    </cronTrigger>
  </triggers>

OR

 <triggers>
        <cronTrigger>
          <buildCondition>ForceBuild</buildCondition>
          <cronExpression>0 6 * * *</cronExpression>
        </cronTrigger>
      </triggers>

2 个答案:

答案 0 :(得分:1)

如果你想每天都跑步

<scheduleTrigger time="06:00" buildCondition="ForceBuild" name="Scheduled"></scheduleTrigger>

有人知道如何解决这个问题吗?我每个月都有类似的问题。

答案 1 :(得分:1)

取自:http://build.sharpdevelop.net/ccnet/doc/CCNET/Cron%20Trigger.html

单个表达式由5个以空格分隔的字段组成: 每周工作一天,每周工作一天

示例:

此触发器将在每个月的第5天执行

<triggers>
    <cronTrigger>
        <cronExpression>0 0 5 * *</cronExpression>
    </cronTrigger>
 </triggers>

此触发器将每天凌晨5点执行

<triggers>
    <cronTrigger>
        <cronExpression>0 5 * * *</cronExpression>
    </cronTrigger>
</triggers>


问候, 德扬