Teamcity 构建代理工作目录未更改
Posted
技术标签:
【中文标题】Teamcity 构建代理工作目录未更改【英文标题】:Team City build agent work dir not getting changed 【发布时间】:2014-08-25 08:18:04 【问题描述】:我想将团队城市构建代理的构建目录更改为:
E://MY_PROJECT_SVN
在安装构建代理时,我设置了相同的设置,但它在 TeamCity web ui 中显示 C://buildAgent/work,因此我的构建失败。
我的 buildAgent.properties 文件显示
workDir=E\:\\MY_PROJECT_SVN
并且 buildAgent.dist.properties 文件显示
workDir=E://MY_PROJECT_SVN
但是当我运行团队城市时出现以下错误
无法启动 MSBuild.exe。无法在路径中找到项目文件: C:\BuildAgent\work\3ac16e0b4e3af05b\Modules\SIM5.sln
因为工作目录错误
【问题讨论】:
目标定义中声明的结帐目录是什么? @Biswajit_86 目标定义是什么意思? 【参考方案1】:buildAgent.dist.properties 确实只是一个示例,但解决方案几乎是您所拥有的;您需要将其放入 buildAgent.properties:
workDir=E:/MY_PROJECT_SVN
更新:
需要注意的是,在 TeamCity 7.0 上,workDir 似乎不能在单独的磁盘上;它在构建过程中大部分时间运行,然后失败。但是,使用连接点从本地(默认)文件夹指向 E: 驱动器将起作用。但是 tempDir 可以指向远程磁盘。
【讨论】:
【参考方案2】:没有使用文件 buildAgent.dist.properties,它只是一个例子。所以不要担心那个文件的内容。
您在 buildAgent.properties 中设置的内容才是最重要的。对您来说,代理正在恢复到工作目录的默认位置。
这意味着由于某种原因它无法读取或解析 buildAgent.properties 文件。 100% 确定整个文件中没有错误。
https://confluence.jetbrains.com/display/TCD8/Build+Agent+Configuration
对此文件进行任何更改并保存应该会导致构建代理自动重新启动,并在重新启动后重新加载新配置。
http://blog.jetbrains.com/teamcity/2007/10/configuration-files-editing-without-teamcity-restart/
【讨论】:
奇怪的是我可以更改临时目录但不能更改工作目录。尝试了绝对路径和相对路径。似乎工作目录必须以 c:\TeamCity 开头,否则它会拒绝任何更改 我可以验证我已将所有 TeamCity 代理的 workDir 设置到不同的位置,并且效果很好。我有这条线: workDir=D:\TC 不确定您具体遇到了什么问题。如果您从 buildAgent.properties 文件中删除任何敏感数据并将其发布在此处,我可以查看并尝试找到错误... 谢谢,我在不更改文件夹的情况下继续前进,但我确实花了一个小时在这上面,除了 c:\TeamCity\ 之外什么都不能更改...也许这是我的 build 版本代理或依赖于其他设置..但我放弃了【参考方案3】:以 Paul-f-wood 的回答为基础:
Teamcity 9.1.6 还具有工作目录不能位于不同驱动器上的“功能”。我尝试了几种临时目录和工作目录的排列,唯一卡住的是工作目录与根 teamcity 文件夹位于同一驱动器上。然而正如保罗所说,使用路口就像一个魅力。
cmd: rm C:\BuildAgent\work
cmd: mklink /J C:\BuildAgent\work E:\MY_PROJECT_SVN
【讨论】:
以上是关于Teamcity 构建代理工作目录未更改的主要内容,如果未能解决你的问题,请参考以下文章
MSBuild 工具 2019 未显示在 Teamcity 的下拉列表中