作为我的构建的一部分,我想将子文件夹映射到c:\驱动器上的固定文件夹。存储库映射到固定路径
问题是,当我尝试映射它,我得到这个:
我怎样才能改变1个项目的本地路径不能含有$(build.sourceDirectory)前缀?
作为我的构建的一部分,我想将子文件夹映射到c:\驱动器上的固定文件夹。存储库映射到固定路径
问题是,当我尝试映射它,我得到这个:
我怎样才能改变1个项目的本地路径不能含有$(build.sourceDirectory)前缀?
文件路径输入(具有...)默认为相对路径。(在映象,它是服务器路径)的相对路径是相对于回购的在构建和伪影的根下载的根在RM。 建立源目录碰巧指向回购的根。
因此,本地路径的前缀为$(build.sourceDirectory)
。它是由设计。您不能更改1项目上的本地路径,不能以它为前缀。
在你的情况下,显然固定路径应该在构建代理的路径之外,在那里你的源代码文件被下载。所以建议您使用复制文件任务来实现您所需要的。 但是,您可能必须将固定路径设置为UNC共享路径。
更新
经过the extension info后,似乎复制任务是现在唯一的解决办法。你可以添加一个powershell脚本,在第一个副本之后,将TFS服务器中的子文件夹与固定路径进行比较。然后,您只需要将子文件夹中的新添加内容复制到固定路径。
嗨,尽可能多的我喜欢你的建议,问题是这个文件夹包含GB的数据。并会长期放慢我的构建过程。 –
您可以使用**存档文件**任务(https://www.visualstudio.com/docs/build/steps/utility/archive-files)来首先存档源文件夹。如果你需要在构建过程中提取文件,你可以**提取文件**任务(https://www.visualstudio.com/docs/build/steps/utility/extract-files) –
不,我的意思是我不' t想要压缩,其他项目在这些“外部”文件夹中引用DLL。理想情况下,我只是希望能够将存储库映射到固定驱动器,这将解决问题。 –
因此,您想在获取源文件步骤期间将所有源文件复制到C:\驱动器中? –
@Eddie,我不希望他们直接映射到那里。所以在“获取源代码”期间,它可以在1次操作中获得源代码,而无需从TFS获取,然后b)复制。 –
这适用于所有构建定义吗?如果是,您可以将生成代理的工作文件夹更改为C:\驱动器。 –