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 构建代理工作目录未更改的主要内容,如果未能解决你的问题,请参考以下文章

TeamCity 代理错误“未能对代理执行结帐”

MSBuild 工具 2019 未显示在 Teamcity 的下拉列表中

从当前工作目录中未提交的更改创建一个 git 补丁

如何:Teamcity + GitHub

EF Core 错误 - 未找到项目。更改当前工作目录或使用 --project 选项

如何配置 TeamCity 构建代理以通过 SOCKS 代理使用 git 和 git:// 协议?