1

現在、私の CruiseControl.NET 電子メール発行者には、ビルド構成ファイルにハードコーディングされたユーザーのリストがあります。

<publishers>
    [ ... ]
    <email from="autobuild@domain.com" mailhost="stmp.domain.com" mailport="25" includeDetails="TRUE">
        <replyto>buildserver@domain.com</replyto>
        <users>
            <user name="a.user" group="buildmaster" address="a.user@domain.com"/>
            <user name="b.user" group="developers" address="b.user@domain.com"/>
        </users>
        <groups>
            <group name="developers">
                <notifications>
                    <notificationType>Failed</notificationType>
                    <notificationType>Fixed</notificationType>
                </notifications>
            </group>
            <group name="buildmaster">
                <notifications>
                    <notificationType>Always</notificationType>
                </notifications>
            </group>
        </groups>
        <modifierNotificationTypes>
            <NotificationType>Failed</NotificationType>
            <NotificationType>Fixed</NotificationType>
        </modifierNotificationTypes>
    </email>
</publishers>

外部ファイルからユーザーのリストを読み取れるようにしたいと考えています。数十のビルド ファイルがあり、新しいユーザーの追加と不要になったユーザーの削除のプロセスを効率化したいと考えています。

これはできますか?

4

1 に答える 1

2

はい - 構成プリプロセッサ、具体的にはインクルードセクションを見てください。

<users/>ノードを eg という名前の別のファイルに移動email_users.xmlし、それを 1 つの場所に維持してから、<cb:include href="email_users.xml"/>

サンプルemail_users.xmlファイル:

<?xml version="1.0" encoding="utf-8"?>
<cb:config-template xmlns:cb="urn:ccnet.config.builder"
  xmlns="http://thoughtworks.org/ccnet/1/5">
  <users>
    <user name="a.user" group="buildmaster" address="a.user@domain.com"/>
    <user name="b.user" group="developers" address="b.user@domain.com"/>
  </users>
</cb:config-template>

これが機能するためには、メインファイルを

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"
  xmlns="http://thoughtworks.org/ccnet/1/5"> 
于 2012-09-09T09:34:23.757 に答える