Когда сборка TFS запускается при регистрации, что это делает? - PullRequest
1 голос
/ 18 февраля 2010

У меня есть процесс CI, настроенный в TFS 2008, так что каждый раз, когда происходит регистрация, запускается сборка, но только если сборка еще не запущена. Точная настройка, используемая в конфигурации, является переключателем с надписью:

«Накапливать регистрацию до завершения предыдущей сборки (меньше сборок)» Флажок "Сборка не чаще, чем каждые ___ минут." не проверено

У меня есть другие процессы сборки, которые также могут выполняться, поэтому я вижу, что сборка ставится в очередь с определенной «Дата в очереди». Когда сервер сборки добирается до сборки в очереди, скажем, что для ее получения требуется 10 минут, использует ли он временную метку сборки в очереди, чтобы выполнить получение, или сборка выполняет "последнее обновление"?

1 Ответ

0 голосов
/ 01 марта 2010

Я полагаю, что TFS будет использовать набор изменений последней инициирующей фиксации (т. Е. Сборка «получает конкретную версию» по идентификатору набора изменений, а не «получает последнюю версию»).

Вы можете проверить это с помощьюПосмотрев отчет о сборке и найдя значение для поля «Версия контроля версий», вы увидите нечто похожее на это:

TFS Build Report Fragment, Source control version field

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

Предполагая, что ваша сборка работает так, как объявлено (и этоэто проблема для вас), тогда вы можете захотеть изменить это поведение по умолчанию и заставить свою сборку CI выполнить «get last», переопределив свойство «GetVersion» MSBuild в файле TFSBuild.rsp сборки, добавив следующее:

/p:GetVersion=T

Где «Т» означает «наконечник» (или «голова» на языке SVN).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...