CruiseControl.NET создает ночные IfModificationExists с момента последней метки сборки
-
05-07-2019 - |
Вопрос
Я использую один сервер для создания одного и того же проекта непрерывно и ночью; однако я хотел бы, чтобы ночная сборка производилась только в том случае, если в течение дня существует модификация. Я надеюсь достичь этого с ограничением, что обе сборки используют одну и ту же рабочую папку .
Два варианта, которые я рассматриваю:
<Ол>Опрос непрерывной сборки и сборка ночной сборки, только если произошла непрерывная сборка - возможно, с использованием некоторой системы токенов (токен непрерывной сборки устанавливает, токен ночной очистки).
Выполнение задачи предварительной сборки, чтобы вернуть исходный код во время последней сборки
Я склоняюсь ко второму варианту, поскольку он разъединяет сценарии сборки, но, похоже, это гораздо более сложная задача.
Предложения и советы по этому вопросу будут оценены!
Добавленная информация:
Сборка CI - это быстрая сборка решение в одной конфигурации и возможно, запускает несколько быстрых юнит-тестов. Р>
Ночная сборка очищает сборку окружающая среда, создает программное обеспечение, пакеты в установщик, запускает расширенные тесты, метки хранилище исходного кода, развертывает установщик на серверный ресурс для ручные тестеры, чтобы забрать, и электронные письма тестовая команда, которая тестируемая сборка было изготовлено. Р>
Я хочу только ночная сборка должна происходить, если бы любые проверки в течение дня, чтобы тестировщики не сталкивались с повторными электронными письмами по существу для одной и той же сборки.
Решение 2
Я доволен своим новым решением ...
Я использую MultiTrigger с scheduleTrigger и prjectTrigger для ночной сборки (лучше вызывать полную сборку) и пар WriteModification / ReadModification для распространения истории изменений, как в этот вопрос .
Другие советы
Возможно, я слишком упрощаю эту задачу, но разве вы не можете просто настроить два триггера в проекте? Один интервальный триггер для непрерывных сборок и один график запуска с условием IfModificationExists для ночных сборок.
<triggers>
<intervalTrigger seconds="60" name="Continuous" />
<scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled">
<weekDays>
<weekDay>Monday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>