Frage

Wir haben mit CC.NET für die kontinuierliche Integration und als die Anzahl der Projekte gestartet überwacht baut ich die E-Mail-Benachrichtigung über eine einzige Konfigurationsdatei konfigurieren möchte.

Was ich damit meine ist, dass ich eine Liste der Benutzer in verschiedenen Gruppen in einer einzigen Konfigurationsdatei haben möchte, die von allen Projektkonfigurationsdateien verwiesen wird:

<user name="user1" group="buildmasters" address="user1@company.com"/>
<user name="user2" group="internalapplications" address="user2@company.com"/>
<user name="user3" group="internalapplications" address="user3@company.com"/>
<user name="user4" group="externalapplications" address="user4@company.com"/>
<user name="user5" group="externalapplications" address="user5@company.com"/>

Dann wird das Projekt-Konfigurationsdatei die richtige Gruppe verweisen:

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

So für die verschiedene Projekte, die internen Anwendungen sind würde ich die einzige Konfigurationsdatei importieren Sie dann die internen Anwendungen Gruppe. Ich möchte auch buildmasters für alles hinzufügen, so dass für jetzt habe ich den Überblick über die Menschen halten können, wenn sie Probleme haben.

Dies würde bedeuten, ich einen Benutzer in zwei oder mehr Gruppen zum Beispiel haben möchte, aber ich weiß nicht, ob es möglich ist:

<user name="user1" group="buildmaster, externalapplications" address="user1@company.com"/>

Ich habe unter der Annahme arbeiten, dass ich eines Tages diese konfiguriert werden konnten und nur noch eine einzige Datei mit allen Benutzern E-Mail-Adressen in, aber heute habe ich es tun gegangen und ich bin nicht sicher, ob es funktioniert wie dies.

Kann jemand beschreiben, wie sie diese genähert haben?

War es hilfreich?

Lösung

Was möchten Sie verwenden CC.Net Konfiguration Preprocessor

Ich habe eine email.config

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

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

    </email>
</cb:define>

und enthalten sie, wo nötig ...

<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>

Andere Tipps

Wie sei es einen etwas anderen Ansatz.

Verwalten Sie die Gruppen durch Ihren E-Mail-Server und E-Mails an die Gruppe alias senden.

Auf diese Weise ist es trivial die gleichen Benutzer in verschiedenen Gruppen haben, und Sie sollten Ihre Konfiguration benötigen, um Dateien, wenn die Änderungen der Gruppenmitgliedschaft nicht zu ändern.

Auf diese mit Exchange ist ziemlich einfach, nicht wissen, über andere E-Mail-Systeme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top