2009-07-17 85 views
2

我們有CruiseControl爲我們做晚間建設。如果每晚構建失敗,它會發送一封電子郵件。程序員將在他/她的修改中修復問題檢查,然後進行部署。如果構建失敗,則會再次發送電子郵件。有沒有辦法不按照強制構建發送電子郵件。CruiseControl.net電子郵件

回答

1

我不認爲這是可能的1.4。但是,對於電子郵件發佈者而言,應該有1.5的新標籤「dynamicvalues」。

這個標籤應該有兩個變量可以檢查。由於它尚未完全發佈,我只能推測什麼可能適合您的特定需求。

可能的標籤:

  1. CCNetRequestSource = IntervalTrigger你
  2. CCNetBuildCondion = IfModificationExists(這威力忽略強制(如果間隔觸發是構建事業這隻會電子郵件)建立)

例如:

你的配置最終將在電子郵件出版商與此類似:

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

CruiseControl.NET版本1.5已經是CTP。所以,這將很快。

鏈接天道:

+0

最新的1.5版本可以在這裏訪問: http://ccnetlive.thoughtworks.com/CCNet-builds/1.5.0/ – Lee 2009-08-17 18:21:21

1

添加

<modifierNotificationTypes> 
    <NotificationType>Change</NotificationType> 
</modifierNotificationTypes> 
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="[email protected]" includeDetails="true" mailhostUsername="night.builder" mailhostPassword="xxx" useSSL="FALSE"> 
    <dynamicValues> 
     <directValue property="mailhost" parameter="SmtpServer" default="fake" /> 
    </dynamicValues>   
    </email> 
</publishers> 

我試圖用沒有元素從Email Publisher,但沒有成功。

如果有人有更合適的解決方案,請在此分享。