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

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

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

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

Ночная сборка запускается следующим образом:

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

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

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

Мои вопросы

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


person Thomas Koene    schedule 12.04.2011    source источник


Ответы (1)


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

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

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

person Richard J Foster    schedule 18.04.2011