Tfs 2010 Build: Непрерывная интеграция и Gated Check-In вместе?

У меня уже есть CI-сборка, работающая на моем экземпляре Tfs2010, но я бы хотел, чтобы также работала стробированная версия checkin. Тем не менее, существуют тонкие различия между способами, которые я бы хотел, чтобы эти две сборки выполнялись. В частности, я бы хотел, чтобы Gated checkin не производил работу с ошибками при сбое, а не связывал изменения и рабочие элементы при сборке, а не перемещал сборки в кавычки и не поддерживал предыдущие сборки. Поскольку сборки, инициированные Gated checkins, являются незафиксированными изменениями, эти шаги мне кажутся ненужными, но я бы определенно хотел, чтобы CI-сборка выполняла эти функции.

К сожалению, есть эта NO_CI вещь, которая появляется на моих наборах изменений после того, как они были созданы строкой Gated Checkin, а сборка CI никогда не запускается. Я нашел этот поток, который, казалось, указывал, что мой DefaultTemplate.xaml должен иметь параметр "Получить активность" NO_CIOption где-то; однако ничто в файле конфигурации не указывает ничего подобного. Ни одна строка не присутствует, и я не могу найти справочную документацию в библиотеке msdn.

Фактически, в библиотеке msdn есть страница, которая, кажется, ссылается на страницу, которую я хочу, однако, где ссылка на самом деле была бы существует некорректная, дублируемая ссылка на "Контроль, где система сборки помещает ваши двоичные файлы". Вы можете увидеть идентичную ссылку непосредственно под ней.

Во всяком случае: как используется параметр NO_CIOption в файлах шаблона сборки? Где он размещен? Кто-нибудь еще никогда не хотел этого делать раньше?

Боковое замечание: плохо ли использовать перекрестную связь между SO и форумами MSDN?

Ответ 1

Чтобы следить за этим, просмотрев Xaml и используя отражатель в двоичных файлах Build, я обнаружил свойство NoCIOption в действии SyncWorkspace. Установка этого значения в false, по-видимому, позволила запускать CI-сборки после закрытых проверок, а также удалить несколько неприглядное приложение NO_CI.

Подробнее о том, как это сделать, см. http://donovanbrown.com/post/How-to-have-CI-builds-run-after-a-Gated-Build.