TeamCity在哪里获得%system.teamcity.build.workingDir%的值

时间:2011-05-13 03:23:51

标签: parameters continuous-integration command teamcity

我们有TeamCity,在[Runner: Command Line]页面的[Build Configuration]上有一个[Command Parameter]字段%system.teamcity.build.workingDir%

我的问题是TeamCity从哪里获取此值,因为当我查看代理的系统属性时,我看不到它已被设置。 %system.teamcity.build.workingDir%未显示在[System Properties][Environment Variables]

列表中

2 个答案:

答案 0 :(得分:30)

你在哪里看?它与其他系统属性一起列出:

enter image description here

@Snahider - 任何一点的构建仅在一个代理上运行。因此%system.teamcity.build.workingDir%将被设置为当前版本的工作目录。它与%system.agent.work.dir%不同,C:\BuildAgent是每个构建的checkout目录的父级。

例如,如果您在[{1}}中安装了代理,则%system.agent.work.dir%将为C:\BuildAgent\work,而%system.teamcity.build.workingDir%如果您未指定C:\BuildAgent\work\8b0fde2bf2d2efc0则为wd VCS设置中的结帐目录,或者如果您已设置,请说C:\BuildAgent\work\wd它将是Examples

还有一件事是,如果在构建步骤中更改工作目录,要说%system.teamcity.build.workingDir%C:\BuildAgent\work\wd\Examples将顾名思义指出 - %system.teamcity.build.workingDir%因此%system.agent.work.dir%可能会根据发生的情况发生变化,而代理商{{1}}将保持不变。希望这能解释不同之处。

答案 1 :(得分:2)

%system.teamcity.build.workingDir%文档说:

  

构建工作目录是为构建过程设置为当前的目录。默认情况下,此目录与Build Checkout Directory相同。   如果构建脚本需要从checkout目录以外的位置运行,那么您可以使用构建运行器的设置页面上的Working Directory字段显式指定它。

如果您拥有WebServer且仅在同一台计算机上的Agent上,该目录与%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%。

您可以使用相同的“命令行构建”测试任何变量的值:在“命令参数”输入中编写变量并运行构建,您可以在构建完成时看到日志中的实际值。 / p>