2017-05-17 71 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的倒退。 –