Где TeamCity получает значение для% system.teamcity.build.workingDir%
У нас есть TeamCity и на странице [Runner: Command Line]
страницы [Build Configuration]
есть поле [Command Parameter]
%system.teamcity.build.workingDir%
Мой вопрос в том, где TeamCity получает это значение, как при просмотре свойств системы агента, я не вижу, чтобы он был установлен.
%system.teamcity.build.workingDir%
не отображается в списке [System Properties]
или [Environment Variables]
Ответы
Ответ 1
Где вы смотрите? Он указан вместе с другими системными свойствами:
![enter image description here]()
@Snahider - сборка в любой точке выполняется только на одном агенте. Таким образом, %system.teamcity.build.workingDir%
будет установлен в текущую рабочую директорию. Это не то же самое, что %system.agent.work.dir%
, который является родителем каталога checkout для каждой сборки.
Например, если у вас установлен ваш агент в C:\BuildAgent
, %system.agent.work.dir%
будет C:\BuildAgent\work
, тогда как %system.teamcity.build.workingDir%
будет чем-то вроде C:\BuildAgent\work\8b0fde2bf2d2efc0
, если вы не указали каталог оформления в настройках VCS или если у вас есть установите его, чтобы сказать wd
он будет C:\BuildAgent\work\wd
Еще одна вещь заключается в том, что если на шаге шага изменения вы меняете рабочий каталог, чтобы сказать Examples
, %system.teamcity.build.workingDir%
будет, как следует из названия, указать на то, что - C:\BuildAgent\work\wd\Examples
So %system.teamcity.build.workingDir%
может измениться в зависимости от того, что происходит, а %system.agent.work.dir%
останется таким же для агента. Надеюсь, это объясняет разницу.
Ответ 2
% system.teamcity.build.workingDir% документация говорит:
Рабочий каталог сборки - это каталог, установленный как текущий для процесса сборки. По умолчанию это тот же каталог, что и каталог сборки. Если сборка script должна выполняться из местоположения, отличного от каталога выписки, вы можете явно указать его с помощью поля "Рабочая папка" на странице настроек бегуна сборки.
Если у вас есть WebServer и только у агента на том же компьютере, что каталог такой же, как % system.agent.work.dir%
http://confluence.jetbrains.net/display/TCD5/Agent+Work+Directory
В моем окне окна C:/Users/[пользователь]/. BuildAgent/work.
Если у вас несколько агентов, я не знаю, какой будет каталог. Я рекомендую использовать% system.agent.work.dir% вместо% system.teamcity.build.workingDir%.
Вы можете проверить значение любой переменной, используя ту же "сборку командной строки": записать переменную в вход "Параметры команды" и запустить сборку, вы можете увидеть реальное значение в журналах при завершении сборки.