2016-12-02 15 views
0

У меня есть установка TFS 2015 с некоторыми сценариями командной оболочки, чтобы изменить файл web.config на определение сборки во время сборки.TFS 2015, как установить Agent.BuildDirectory для использования _work 1 только

я столкнулся со следующим вопросом:

  1. В сценарии пса он жестко закодированный использовать «E: \ TfsBuildAgents \ TfsbuildAgentName_work \ 1 \ s \ Проекты \ ProjectName \ ProjectName \ web.config

Я задал требования для сборки к агенту. Имя = TfsbuildAgnetName (это работает хорошо, потому что я хочу использовать одно имя агента, чтобы иметь возможность ставить в очередь сборки как приставку, когда они запускаются одновременно, но во время очереди одно определение использует _work \ 1, а второе (которое ждет другого для завершения) использует _work \ 2.

В любом случае я могу заставить рабочий каталог быть 1 на отдельных определениях сборки?

Наряду с Agent.Name, я пытался использовать Agent.BuildDirectory и указать _work \ 1, но сборки перерывы на следующее:

агент не найден в бассейне 12, который удовлетворяет указанным требованиям: Agent. Имя -equals TfsbuildAgnetName Agent.BuildDirectory -equals E: \ TfsBuildAgents \ TfsbuildAgnetName_work \ 1

ответ

0

Почему бы не сделать сценарии более гибкими и использовать путь относительно самого сценария усиливая переменную $PSScriptRoot?

Или еще лучше использовать переменную окружения $env:BUILD_SOURCESDIRECTORY?

+0

Это блестящий благодаря мужчине! – Daniel

+0

На данный момент я немного поработал, имея файл bat, запускающий запланированную задачу. Но ваше предложение делает его намного проще. – Daniel