【问题标题】:CruiseControl.net cronTrigger confusionCruiseControl.net cronTrigger 混乱
【发布时间】:2023-03-24 23:24:01
【问题描述】:

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

编辑 不确定这是否真的提供了更多有用的信息,但需要进一步评论。

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

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

【问题讨论】:

  • 请发布您正在使用的确切触发器配置。

标签: cruisecontrol.net crontrigger


【解决方案1】:

如果您想每天跑步,请使用

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

有人知道怎么解决吗??我每月运行一次类似的问题。

【讨论】:

  • 是的,因为预定的触发器满足了我的特定要求。可惜 cron 触发器不起作用,因为它比调度触发器灵活得多。
【解决方案2】:

取自: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>


问候, 德让

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2010-12-04
    • 2011-05-05
    • 2018-05-30
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多