2017-05-17 70 views
1

目前我们建立在TFS 2017年的工作文件夹使用以下格式: -如何设置构建路径格式?

{} Agent.HomeDirectory {_work} BuildDefinitionId

所以我们的版本是放在文件夹是这样的: -

D:\ buildagent_work \ 42

有什么办法可以改变格式来包含这样的内部版本号?

{} Agent.HomeDirectory {_work BuildDefinitionId} {} BuildNumber

回答

1

看来你需要更改build目录文件夹的名称(默认值是..... \ 1)。不幸的是,没有任何办法改变它。

另外,windows有260个字符文件路径长度限制,在构建过程中很容易发生。在正常情况下,您最好尽可能缩短路径。


更新05/24

你可以使用Copy FilesPublish Build Artifacts任务,文件共享,而不是服务器存储的故障排除生成工件。您可以直接复制Agent.BuildDirectory,该代理程序中创建给定构建定义的所有文件夹的本地路径。例如:c:\agent\_work\1

这些任务会将构建代理文件夹复制到暂存文件夹中,然后发布它们。

+0

感谢您的确认,帕特里克。是的,我同意保持道路尽可能短是至关重要的。但是,内部版本号会将路径长度增加4或5个字符(“... \ 123”或“... \ 1234”)。如果TFS没有硬连线路径(“buildagent”),那么我可以通过改变路径(例如“ba”)来恢复这些字符。 –

+0

@BillStokes为什么你需要将构建目录文件夹的名称更改为此?如您所说,数字代表构建定义。如果它与buildnumber相关,则每次触发新构建时都会生成一个新文件夹和多个子文件夹,如'c:\ agent \ _work \ 1234 \ a'和'c:\ agent \ _work \ 1234 \ s'等等上。 _work目录下可能有很多文件夹。此外,\ a \ s下的文件与最新的build \ buildnumber有关。如果您只想保留较旧buildnumber的来源,则可以在构建定义中使用复制任务来实现此目的。 –

+1

我们需要保留以前的构建工件以允许诊断构建问题。通常在调查开始的时候,最近的版本不是问题发生的版本。有时候这并不重要,但有时候是这样。我们正在寻找的行为与TFS 2013基本上是相同的行为 - 这似乎是TFS 2017的倒退。 –