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

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

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

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

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

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

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

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

Мои вопросы

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

1 Ответ

0 голосов
/ 18 апреля 2011

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

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

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

...