2015-06-12 54 views
0

我正在嘗試編寫一個powershell腳本來允許用戶指定一個tfs生成id(或者是一個變更集id)並將生成輸出下載到當前目錄。我的構建配置爲將輸出複製到服務器,這意味着只有最新的構建輸出才能在該目錄中訪問。但是,從Visual Studio或TFS Web Access中,我可以將該下載文件下載爲.zip文件。以編程方式訪問tfs生成輸出

如何以編程方式訪問此.zip文件(在PowerShell中,或者即使我可以找出VB代碼來執行此操作,我可以將其轉換爲PowerShell腳本)?我是否在考慮構建輸出錯誤,並且有一種更簡單,更明顯的方式來處理這個問題?舊版本的構建輸出存儲在服務器的其他位置,還是存儲在數據庫中?我應該以不同的方式配置構建,以將每個構建存儲在單獨的文件夾中,而不是將每個構建覆蓋在單個文件夾中?

回答

1

您可以通過正確構建的URL訪問下載zip文件。例如:

https://{AccountName}.visualstudio.com/DefaultCollection/{TeamProject}/_apis/build/builds/{BuildId}/artifacts/drop?%24format=zip 
+0

謝謝迪倫!這是否應該適用於TFS 2013內部部署?它不適合我,但你確實幫助我走上了正確的道路。 TFS Web Access沒有任何機制來查看下載URL,但是我嗅探了網絡流量,發現了一個稍微不同的url格式,它可以正常工作: http:// {MyTFSServer}/{TeamProjectCollection}/{TeamProject}/_api/_build/ItemContent?buildUri = vstfs:/// Build/Build/{BuildId}&path =/drop&__ v = 5 剩下的唯一問題是我可以在哪裏找到Web訪問中的構建ID(或VS Team Explorer) ?排隊的構建列表有一個ID列,但已完成的構建列表不包含 –

+0

我想出了構建ID的問題 - 我在構建過程定義中更新了「構建數字格式」設置以使用$(BuildID)宏,現在這是非常明顯的 –