CruiseControl.netには約50のプロジェクトが構成されており、それぞれが完了/変更などの際に電子メールを送信するように個別に構成されています。
より高い(サーバーなど)レベルでユーザー/電子メールアドレスリストを構成する方法はありますか?ドキュメントを検索し、手がかりをグーグルで検索しましたが、何も見つかりません。
メールの送信者を更新する必要がありますが、50個のファイルを更新することは、持続可能または理想的なソリューションではありません。
ありがとう。
CruiseControl.netには約50のプロジェクトが構成されており、それぞれが完了/変更などの際に電子メールを送信するように個別に構成されています。
より高い(サーバーなど)レベルでユーザー/電子メールアドレスリストを構成する方法はありますか?ドキュメントを検索し、手がかりをグーグルで検索しましたが、何も見つかりません。
メールの送信者を更新する必要がありますが、50個のファイルを更新することは、持続可能または理想的なソリューションではありません。
ありがとう。
これがあなたの正確なケースかどうかはわかりませんが、あなたにも当てはまるかもしれません。すべての電子メール設定を別のファイルに分けて、プロジェクト構成でインクルードを使用します。
したがって、次のようになります。
ファイル: EmailPublisher.xml
<cb:config-template xmlns:cb="urn:ccnet.config.builder">
<email from="notification@example.com" mailhost="mailhost.example.com" mailport="587" includeDetails="true" mailhostUsername="username"
mailhostPassword="mailPwd" useSSL="TRUE" replyto="admin@example.com">
<description>Sending email notifications</description>
<groups>
<group name="developers">
<notifications>
<notificationType>Failed</notificationType>
<notificationType>Fixed</notificationType>
</notifications>
</group>
<group name="buildmaster">
<notifications>
<notificationType>Always</notificationType>
</notifications>
</group>
</groups>
<converters>
<regexConverter find="$" replace="@example.com" />
</converters>
<modifierNotificationTypes>
<NotificationType>Failed</NotificationType>
<NotificationType>Fixed</NotificationType>
</modifierNotificationTypes>
</email>
</cb:config-template>
そして、発行者セクションのプロジェクト構成で:
<!-- email publisher -->
<cb:include href="EmailPublisher.xml"/>
欠点は、プロジェクトごとに同じ構成にするか、代わりに複数のインクルード ファイルを使用する必要があることです (これにより、同じ問題が再び発生し始めます)。
とにかく、それは私たちのチームにとってかなりうまくいっているようです.
[編集] さらに一歩進んで、たとえば、別のファイルからのユーザー リストのみを含め、通知設定をプロジェクトに個別に適用することもできます。
次のような変数/置換を使用できます: $(admins)、$(programmers)、$(ProductAScrumMaster)、$(ProductBEntireTeam)、$(HolyCrapTheMachineFriedEmailEveryone) など。組み合わせが必要な場合は、それらを追加またはネストすることもできます。
この投稿は例としてより役立つかもしれません - それはより多くの詳細を持っています: Using dynamic parameters in email publisher subjectSettings block with CruiseControl.Net