VSTS не должен запускать сборку слиянием / фиксацией, NO_CI - PullRequest
0 голосов
/ 11 мая 2018

Когда разработчик открывает PR, нацеленный на ветку, у нас есть триггер для запуска сборки

Мы делаем коммит с сервера сборки (как часть процесса сборки) в ветку источника PR с сообщением коммита как something ***NO_CI***, думая, что это не вызовет другую сборку для этого коммита. Но он все еще вызывает сборку

Любой недостаток в моем подходе или Любой другой способ, которым мы можем остановить его, чтобы не вызвать сборку для этого коммита.

Должны ли мы включить какие-либо настройки VSTS, чтобы ***NO_CI*** работал?

Ответы [ 2 ]

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

Прежде всего, отправка изменений в ветку, отслеживаемую по определению сборки, особенно если она находится в той же папке, является довольно плохой идеей. Всегда был. Я знаю, так как я создавал задачи TFVC, чтобы позволить людям продолжать делать это безумие, чтобы они могли перейти на новую систему сборки.

Волшебный комментарий ***NO_CI*** работает с TFVC, но не работает с Git. С Git и новой системой сборки вы можете использовать фильтры веток, чтобы предотвратить запуск сборки в определенных ветвях, и вы можете настроить фильтры путей, чтобы исключить повторный запуск определенных путей определенными путями. (В большинстве случаев люди, как правило, передают файлы assemblyinfo.cs; исключив их из запуска сборки, вы можете сделать это безопасно).

Зафиксировать файлы во время сборки довольно опасно, репозиторий извлечен в состоянии отдельного заголовка, и ваши коммиты могут попасть в изменения в целевой ветке в полете. Вместо этого рассмотрите возможность внесения изменений в другую ветку.

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

Добавьте сборку CI в вашу политику филиала - она ​​будет запускаться при открытии PR.

Добавьте фильтр CI для refs/pulls/* в определении сборки.Это предотвратит двойную сборку.

Как только PR будет завершен, сборка CI для слияния будет работать нормально, как и должно быть.

...