2

为了确定项目是否“从头开始”编译,我们有夜间构建。通常这些构建是成功的,因此,关于它们的邮件不是很有用。

还有通常的构建,在有人将代码提交到版本控制之后运行。由于这些电子邮件包含提交消息和更改的文件列表,因此即使对于成功的构建它们也很有用。

如何过滤成功的夜间电子邮件,同时仍然照常发送?最好通过 CruiseControl.Net 的方式。

这是 CruiseControl.Netccnet.config配置文件的一部分:

<intervalTrigger name="FrequentPoll" buildCondition="IfModificationExists"  seconds="60"/>
<scheduleTrigger name="Daily" buildCondition="ForceBuild" time="$(DailyBuildStartTime)"/>

可能执行的线索<exec>节点程序可以通过检查环境变量来确定哪个触发器开始构建CCNetRequestSource

但是,即使CCNetRequestSource在节点中可用<email>,但我发现<email>节点无法使用它。

有人能帮我吗?

更新:找到相关问题 - CruiseControl.net 电子邮件

4

1 回答 1

3

您可以使用条件任务(从版本 1.6开始提供)包装您的电子邮件发布者,如下所示:

    <conditional>
      <conditions>
        <compareCondition>
          <value1>$[$CCNetRequestSource]</value1>
          <value2>FrequentPoll</value2>
          <evaluation>Equal</evaluation>
        </compareCondition>
      </conditions>

      <tasks>
        <email ... />
      </tasks>

    </conditional>

引用内置变量时请注意$[$CC]语法。

于 2012-10-19T20:21:25.780 回答