Как я могу сделать непрерывную интеграцию и ночные сборки на одном и том же клоне

Мы пытаемся перейти с SVN на HG прямо сейчас.

Мы используем непрерывную интеграцию с CruiseControl.NET на специально созданном сервере сборки, который работает хорошо. Кроме того, мы начали ночную сборку для выполнения расширенных тестов, таких как расширенный модульный тест статистики кода и т. Д.

Теперь наша проблема:

Ночная сборка запускается, как показано ниже:

  <triggers>
        <scheduleTrigger time="3:00" buildCondition="IfModificationExists" />
  </triggers>

Мы ссылаемся на тот же клон, что и для непрерывной интеграции.

Ночью CruiseControl запускает задание hg pull, которое возвращает "модификация не обнаружена", поскольку они уже обнаружены в течение дня.

Мои вопросы

Можно ли настроить задачу триггера, чтобы она проверяла наличие изменений между последней ночной сборкой и текущей? Можно ли настроить вызываемые задачи в расширениях задач MsBuild для круиз-контроля? Нужен ли нам дополнительный клон для ночной сборки? Есть ли другие решения?

1 ответ

Глядя на код, я не вижу механизма поиска наборов изменений на основе состояния репозитория.

Лично я бы пошел вторым путем клонирования или использовал бы условие ForceBuild вместо IfModificationExists, чтобы всегда делать ночные сборки.

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

Другие вопросы по тегам