2009-07-30 26 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