Как настроить определение сборки TFS, когда мой локальный ПК, источник, агент сборки и развертывание находятся на отдельных серверах - PullRequest
3 голосов
/ 09 февраля 2012

Я пытаюсь настроить определение сборки в TFS 2010. Варианты для этого кажутся очень ограниченными, например, у меня есть 5 файлов решений в моем контроле исходного кода, и я не могу указать, какой из нихиспользовать.Я выбрал рабочую область на своем сервере развертывания (который получает TF каждые 10 минут, поэтому я знаю, что это допустимая рабочая область), но при запуске сборки выдает ошибку с жалобой на сопоставление - и, похоже, этособственное отображение откуда-то.

Отображение Я установил: $/InteractV4/Dev/IV4ProductionSR/

Ошибка: There is no working folder mapping for $/InteractV4/Dev/IV4Support/iv4ProductionSR.sln.

Есть 2 проблемы с этой ошибкой.1: это не рабочее пространство, которое я пытался использовать.2: Это неправильно, и существует сопоставление рабочей папки для этого источника, как на моем локальном ПК, так и на компьютере развертывания, но НЕ на сервере сборки.Нужно ли настроить загрузку папок и сопоставлений на сервере агента сборки?Или на основном TFS (исходном) сервере?

Спасибо.

1 Ответ

2 голосов
/ 09 февраля 2012

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

Можно не дать TFS регенерировать новую рабочую область с каждым Buid, путемперейдя к определению сборки, отредактируйте «Process»: «2.Basic»: «Clean Workspace» и измените значение по умолчанию All на Outputs или None.

Отображения установлены для каждого определения сборкигде существуют различные пары:

Source Control Folder   | Build Agent Folder
$/foo/bar               | $(SourceDir)\somewhere

$(SourceDir) подставляется во время сборки и получает значение в настройках агента сборки.Если вы зайдете в консоль администрирования TFS и выберете «Конфигурация сборки», вы увидите список Агентов сборки, работающих на Сервере (на других Серверах могут быть дополнительные Агенты).При нажатии на «Свойства» агента появляется всплывающее окно:
enter image description here
Эта запись «Рабочий каталог» разрешает и заменяет $(SourceDir) во время сборки.

Например, запись $(SystemDrive)\Builds\$(BuildAgentId) может преобразовываться во что-то вроде C:\Builds\88.
Таким образом, для сборки TFS, работающей на этом агенте, вы должны ожидать, что все источники, находящиеся в управлении источниками в $/foo/bar, будут найдены в C:\Builds\88\somewhere


РЕДАКТИРОВАТЬ
В соответствии с вашими комментариями у вас теперь есть такое отображение:

$\InteractV4\Dev\IV4ProductionSR | $(SourceDir)

Ваша сборка завершается с ошибкой, поскольку "Существуетнет сопоставления рабочей папки для $ / InteractV4 / Dev / IV4Support / iv4ProductionSR.sln ".
Соответствует ли этот каталог управления исходным кодом $/InteractV4/Dev/IV4Support в вашем определении сборки?

...