TeamCity检出规则参数与绝对路径配置异常问题求助
TeamCity VCS检出规则异常问题的统一解决方案
问题梳理
- 规则
+:Installers/Script => %teamcity.agent.work.dir%\Installers\Script未将目标目录映射到Agent工作目录下的对应位置,反而在工作目录生成了名为%teamcity.agent.work.dir%的文件夹 - 规则
+:Setup_Files => C:\Automated_Testing\Setup_Files试图在工作目录下创建C:文件夹,导致构建失败,切换正反斜杠无效果
统一解决方案
针对Agent工作目录内的路径映射
TeamCity VCS检出规则的目标路径默认基于Agent工作目录,无需显式指定%teamcity.agent.work.dir%参数。直接使用相对路径即可实现正确映射:
+:Installers/Script => Installers/Script
这样就能将版本库中的Installers/Script目录直接检出到Agent工作目录下的对应位置。
针对工作目录外的绝对路径映射
TeamCity不支持直接在VCS检出规则中指定工作目录以外的绝对路径,需通过两步实现:
- 先将目标目录检出到工作目录内的临时位置:
+:Setup_Files => temp_Setup_Files
- 添加构建步骤(命令行/PowerShell),将临时目录的内容复制到目标绝对路径:
xcopy /E /Y "%teamcity.agent.work.dir%\temp_Setup_Files" "C:\Automated_Testing\Setup_Files\"
原因说明
TeamCity的VCS检出规则会将非标准相对路径的内容(比如带参数变量、盘符前缀的字符串)识别为工作目录下的子目录名称,这就是导致异常文件夹生成的核心原因。
内容的提问来源于stack exchange,提问作者Cody Harness
相关产品推荐
相关产品推荐

