2009-07-30 35 views
2

我們已經開始使用CC.NET進行持續集成,並且隨着監控的項目數量增多,我希望通過單個配置文件配置電子郵件警報。使用單個配置文件的CC.NET中的電子郵件組配置

我的意思是,我想有在由所有的項目配置文件中引用一個配置文件中不同羣體的用戶的列表:

<user name="user1" group="buildmasters" address="[email protected]"/> 
<user name="user2" group="internalapplications" address="[email protected]"/> 
<user name="user3" group="internalapplications" address="[email protected]"/> 
<user name="user4" group="externalapplications" address="[email protected]"/> 
<user name="user5" group="externalapplications" address="[email protected]"/> 

然後項目配置文件將引用正確的組:

<group name="internalapplications" notification="change"/> 

因此,對於那些內部應用程序的不同的項目,我將導入一個配置文件,然後設置內部應用程序組。我還想爲所有事情添加buildmaster,以便現在如果他們遇到問題,我可以跟蹤他們。

這意味着我想有兩個或多個組例如用戶,但我不知道這是否是可能的:

<user name="user1" group="buildmaster, externalapplications" address="[email protected]"/> 

我一直在假設有一天下工作我可以配置這個,只有一個包含所有用戶電子郵件地址的文件,但今天我已經去做了,我不確定它是如何工作的。

任何人都可以描述他們如何接近這個?

回答

3

你想要做的是使用CC.Net Configuration Preprocessor

我做了email.config

<cb:define name="email-template" xmlns:cb="urn:ccnet.config.builder"> 
    <email from="[email protected]" mailhost="server" includeDetails="TRUE" 
     mailhostUsername="buildadmin" mailhostPassword="pass"> 
     <users> 
     <user name="dev" group="dev" address="[email protected]"/> 

     </users> 
     <groups> 
     <group name="buildmaster" notification="always"/> 
     <group name="developers" notification="always"/> 
     </groups> 

    </email> 
</cb:define> 

,其中包括需要的地方......

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 

    <cb:include href="C:\email.config" /> 

<project name="MyProject" queue="Build" queuePriority="1" > 

    <cb:email-template > 

    </cb:email-template> 

</project> 

<project name="MyProject2" queue="Build" queuePriority="1" > 

    <cb:email-template > 

    </cb:email-template> 

</project> 

</cruisecontrol> 
+0

這看起來很正確,謝謝Ryu! – 2009-10-02 07:58:37

1

如何採取稍微不同的方法。

通過電子郵件服務器管理羣組並將郵件發送到羣組別名。

通過這種方式,在不同的組中擁有相同的用戶很簡單,此外,如果組成員身份發生更改,則不需要更改您的配置文件。

用Exchange做這件事很簡單,不知道其他電子郵件系統。

+0

乾杯幽谷,這是一個不錯的主意我沒有想過用一種不同的方法獲得我想要的功能 - 但我現在要做。在這種情況下,我們使用的是Lotus Notes,它是公司的,我沒有免費的方便地訪問電子郵件服務器來自己設置它(我不想依賴我們的電子郵件團隊,因爲我想它今年做...) – 2009-07-31 08:05:16