CruiseControl.NET создает ночные IfModificationExists с момента последней метки сборки

StackOverflow https://stackoverflow.com/questions/1202913

  •  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>
    
    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top