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

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

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

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

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

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

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

Мои вопросы

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

0
Thomas Koene 12 Апр 2011 в 14:12

1 ответ

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

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

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

0
Richard J Foster 18 Апр 2011 в 21:02