Дженкинс: пропустить сборку, если изменений не найдено - PullRequest
0 голосов
/ 10 мая 2018

Я использую Jenkins для создания большого решения на основе .NET, связанного с TFS. Первым шагом в сценарии является получение последних наборов изменений из TFS, а затем создание решения. В некоторых других инструментах, которые я использовал, были варианты пропустить сборку, если в TFS не было найдено никаких новых изменений. Существует ли подобная функция в Jenkins? Кажется глупым перестраивать все решение и развертывать его, если с момента последней сборки ничего нового не было.

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Согласно вашему описанию, вопрос, скорее, связан с Дженкинсом, а не с TFS.

Предлагаем вам использовать расширение третьей стороны - Условный плагин BuildStep .Шаг сборки, охватывающий любое количество других шагов сборки, контролирующий их выполнение на основе определенного условия.

Другой способ - использовать два задания для решения этой ситуации. Один, чтобы проверить, изменились ли файлы, и один, чтобы выполнить фактическую сборку. Подробные способы см. Ниже в двух руководствах:

0 голосов
/ 11 мая 2018

Вы можете использовать опцию "Опрос SCM" в разделе Триггеры сборки .

После выбора вышеуказанной опции вы сможете установить Schedule для опроса.

Скажите, например,если вы установите расписание равным @hourly, то Jenkins будет опрашивать SCM (в данном случае TFS) каждый час и искать изменения, если они есть, он будет строить работу, иначе не будет.

В дополнение к(@yearly, @annually, @monthly, @weekly, @daily, @midnight и @hourly) * Поле 1011 * соответствует синтаксису cron, то есть MINUTE HOUR DOM MONTH DOW

Примеры:

каждые пятнадцать минут -> Ч / 15 * * * *

...