CruiseControl.net电子邮件

时间:2009-07-17 13:53:31

标签: cruisecontrol.net

我们让CruiseControl为我们做夜间构建。如果每晚构建失败,它会发送一封电子邮件。程序员将修复问题检查他/她的更改然后执行强制构建。如果构建失败,则会再次发送电子邮件。有没有办法在按下强制构建时不发送电子邮件。

3 个答案:

答案 0 :(得分:1)

我认为在1.4中不可能。但是,应该可以在1.5中使用新标记“dynamicvalues”为电子邮件发布者。

此标记应包含两个您可以检查的变量。由于尚未完全发布,我只能推测可能适合您的特定需求。

可能的标签:

  1. CCNetRequestSource = IntervalTrigger(仅当间隔触发器是构建原因时才会发送电子邮件)
  2. CCNetBuildCondion = IfModificationExists(此可能忽略强制构建)
  3. 示例:

    您的配置最终会在电子邮件发布商中与此类似:

    <email>
    ...
    <dynamicValues>
      <directValue>
        <property>buildArgs</property>
        <parameter>BuildArgs</parameter>
        <default>-t:$[$CCNetRequestSource|IntervalTrigger]</default>
      </directValue>
    </dynamicValues>
    ...
    </email>
    

    CruiseControl.NET 1.5版已经CTP。所以,很快就会到来。

    Link Heaven:

答案 1 :(得分:1)

将以下内容添加到您的配置

<modifierNotificationTypes>
    <NotificationType>Change</NotificationType>
</modifierNotificationTypes>

答案 2 :(得分:0)

现在我正在使用某种解决方法:

<triggers>
  <parameterTrigger>
    <trigger type="scheduleTrigger">
      <time>01:00</time>
      <buildCondition>ForceBuild</buildCondition>
    </trigger>
    <parameters>
      <namedValue name="SmtpServer" value="smtp.mail.com"/>
    </parameters>        
  </parameterTrigger>
</triggers>

<publishers>      
  <email mailhost="fake" from="night.builder@mail.com" includeDetails="true" mailhostUsername="night.builder" mailhostPassword="xxx" useSSL="FALSE">
    <dynamicValues>
      <directValue property="mailhost" parameter="SmtpServer" default="fake" />
    </dynamicValues>        
  </email>
</publishers>

我尝试使用Email Publisher中的元素,但没有成功。

如果有人有更合适的解决方案,请在此处分享。