CruiseControl.net - настройка пользователей / электронной почты на уровне сервера

У нас есть около 50 проектов, настроенных в CruiseControl.net, и каждый индивидуально настроен для отправки электронного письма о завершении / изменении / любом другом.

Есть ли способ настроить список пользователей / адресов электронной почты на более высоком (например, серверном) уровне? Я искал документацию и искал в Google какие-либо подсказки, но ничего не нашел.

Мне нужно обновить, кому отправляются электронные письма, а обновление 50 файлов не является устойчивым или идеальным решением!

Спасибо.


person ro͢binmckenzie    schedule 04.02.2013    source источник


Ответы (2)


Я не уверен, что это именно ваш случай, но может сработать и для вас. Я разделил все настройки электронной почты в отдельный файл, а затем использую включение в конфигурацию проекта.

Это выглядит примерно так:

Файл: EmailPublisher.xml

<cb:config-template xmlns:cb="urn:ccnet.config.builder">
<email from="[email protected]" mailhost="mailhost.example.com" mailport="587" includeDetails="true" mailhostUsername="username" 
        mailhostPassword="mailPwd" useSSL="TRUE" replyto="[email protected]">       

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

Обратной стороной является то, что вам необходимо иметь одинаковую конфигурацию для каждого проекта или, в качестве альтернативы, использовать несколько включаемых файлов (что снова начинает вызывать ту же проблему).

В любом случае, похоже, что у нашей команды это работает неплохо.

[РЕДАКТИРОВАТЬ] Вы также можете пойти на один шаг дальше и, например, включить только список пользователей из отдельного файла и применить настройки уведомлений отдельно для проекта.

person sinnerinc    schedule 05.02.2013

Вы можете использовать такие переменные / замены: $ (admins), $ (programmers), $ (ProductAScrumMaster), $ (ProductBEntireTeam), $ (HolyCrapTheMachineFriedEmailEveryone) и т.п. Вы также можете добавлять или вкладывать их, если вам нужны комбинации.

Этот пост может быть более полезным в качестве примера - в нем гораздо больше деталей: Использование динамических параметров в блоке subjectSettings издателя электронной почты с CruiseControl.Net

person riffrazor    schedule 05.02.2013