Где TeamCity получает значение для% system.teamcity.build.workingDir% - PullRequest
15 голосов
/ 13 мая 2011

У нас есть TeamCity, а на [Runner: Command Line] странице [Build Configuration] есть поле [Command Parameter] %system.teamcity.build.workingDir%

Мой вопрос: откуда TeamCity получает это значение, когда я смотрю на Системные свойства Агента и не вижу, что оно установлено. %system.teamcity.build.workingDir% не отображается в списке [System Properties] или [Environment Variables]

Ответы [ 2 ]

31 голосов
/ 17 мая 2011

Куда ты смотришь? Он указан вместе с другими системными свойствами:

enter image description here

@ Snahider - сборка в любой момент выполняется только на одном агенте. Таким образом, %system.teamcity.build.workingDir% будет установлен на рабочий каталог текущей сборки. Это не то же самое, что %system.agent.work.dir%, который является родителем каталога извлечения для каждой сборки.

Например, если у вас установлен агент в 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 Так что %system.teamcity.build.workingDir% может измениться в зависимости от того, что происходит, в то время как %system.agent.work.dir% останется таким же для агента. Надеюсь, это объясняет разницу.

2 голосов
/ 14 мая 2011

% system.teamcity.build.workingDir% документация гласит:

Рабочий каталог сборки - это каталог, установленный как текущий для процесса сборки. По умолчанию это тот же каталог, что и Build Checkout Directory. Если сценарий сборки должен запускаться из местоположения, отличного от каталога извлечения, вы можете указать его явно, используя поле «Рабочая папка» на странице настроек средства запуска сборки.

Если у вас есть WebServer и только на Агенте на том же компьютере, этот каталог совпадает с % system.agent.work.dir%

http://confluence.jetbrains.net/display/TCD5/Agent+Work+Directory

В моем окне Windows есть C: / Users / [user] /. BuildAgent / work .

если у вас несколько агентов, я не знаю, что будет каталогом. Я рекомендую вам использовать% system.agent.work.dir% вместо% system.teamcity.build.workingDir%.

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

...