Когда запрос на включение завершен, наша система сборки (на основе TFS 2015/Octopus) настроена на сборку и развертывание. Проблема в том, что у нас обычно есть куча запросов на включение в очередь, и утверждение каждого из них запускает сборку и развертывание, с созданием/сохранением ненужных пакетов и получающимися электронными письмами в QA о том, что развертывание готово. Возможно, не критическая проблема, но раздражение, чтобы быть уверенным.
Мы используем определения сборки vNext. У меня включена функция «Пакетные изменения», но этого недостаточно (сборка занимает меньше минуты, проверка и утверждение запроса на вытягивание может занять от 1 до 30 минут). Что я хотел бы сделать, так это иметь непрерывную интеграцию, но подождать, скажем, 15 минут после первого слияния, чтобы увидеть, не появятся ли какие-либо другие изменения.
В качестве альтернативы, запланированная сборка каждый час, но ТОЛЬКО если что-то изменилось, будет достаточно.
В качестве альтернативы, сборка каждый раз, но Octopus будет развертываться только после небольшого ожидания, это тоже сработает.
Помимо написания моей собственной службы Windows, которая использует REST API TFS для запуска сборок каждые x минут, только если что-то изменилось, я не вижу хорошего решения. Или я подумал о том, чтобы где-нибудь сохранить пакеты сборки и написать службу для отправки их в Octopus, только если новые пакеты не поступят в течение x минут.
У кого-нибудь что-то подобное работает?
Rolling buildsбыли обновлены с опциейBatch, однакоBuild no more often than every X minutesв настоящее время отсутствует. См. 1-й комментарий в сообщении блога от VSTFS. - person Alex M   schedule 23.05.2016