2016-08-12 144 views
0

作爲我的構建的一部分,我想將子文件夾映射到c:\驅動器上的固定文件夾。存儲庫映射到固定路徑

問題是,當我嘗試映射它,我得到這個:

enter image description here

我怎樣才能改變1個項目的本地路徑不能含有$(build.sourceDirectory)前綴?

+0

因此,您想在獲取源文件步驟期間將所有源文件複製到C:\驅動器中? –

+0

@Eddie,我不希望他們直接映射到那裏。所以在「獲取源代碼」期間,它可以在1次操作中獲得源代碼,而無需從TFS獲取,然後b)複製。 –

+0

這適用於所有構建定義嗎?如果是,您可以將生成代理的工作文件夾更改爲C:\驅動器。 –

回答

0

文件路徑輸入(具有...)默認爲相對路徑。(在映象,它是服務器路徑)的相對路徑是相對於回購的在構建和僞影的根下載的根在RM。 建立源目錄碰巧指向回購的根。

因此,本地路徑的前綴爲$(build.sourceDirectory)。它是由設計。您不能更改1項目上的本地路徑,不能以它爲前綴。

在你的情況下,顯然固定路徑應該在構建代理的路徑之外,在那裏你的源代碼文件被下載。所以建議您使用複製文件任務來實現您所需要的。 但是,您可能必須將固定路徑設置爲UNC共享路徑

enter image description here


更新

經過the extension info後,似乎複製任務是現在唯一的解決辦法。你可以添加一個powershell腳本,在第一個副本之後,將TFS服務器中的子文件夾與固定路徑進行比較。然後,您只需要將子文件夾中的新添加內容複製到固定路徑。

+0

嗨,儘可能多的我喜歡你的建議,問題是這個文件夾包含GB的數據。並會長期放慢我的構建過程。 –

+0

您可以使用**存檔文件**任務(https://www.visualstudio.com/docs/build/steps/utility/archive-files)來首先存檔源文件夾。如果你需要在構建過程中提取文件,你可以**提取文件**任務(https://www.visualstudio.com/docs/build/steps/utility/extract-files) –

+0

不,我的意思是我不' t想要壓縮,其他項目在這些「外部」文件夾中引用DLL。理想情況下,我只是希望能夠將存儲庫映射到固定驅動器,這將解決問題。 –