2017-06-14 40 views
0

在TFS版本號格式通常看起來像這樣建立到同一個文件夾:如何每次

$(BuildDefinitionName)_ $(日期:年月日)$(修訂:.R)

然而,我只想保留1個構建,並且我希望每次構建到同一個文件夾。所以我試圖將其更改爲這樣:

$(BuildDefinitionName)

但問題是,這只是工作的一個時間,然後給出了版本號以後已經存在的錯誤。我想建立到相同的文件夾,以便我可以編寫一個腳本來壓縮最新版本,將它移到另一個地方,然後解壓縮它,如果我不必處理編寫代碼,它會更容易找出最近的文件夾名稱是什麼。

有沒有辦法完成建設到一個文件夾名稱不會改變?

+0

嗨BVemon,這個問題的任何更新?我的回答是否有幫助或給出正確的方向? –

回答

0

這是通過設計,每個完成的構建應該有一個獨特的內部編號/名稱。否則,你會得到上述錯誤。

$(修訂:.R)

使用$(修訂:.rr),以確保每完成構建具有獨特 名稱。構建完成後,如果內部版本號 中沒有其他內容發生更改,則Rev整數值將加1。

解決方法:對於vNext構建,您可以使用copy Files任務在構建管道期間將構建輸出複製到同一文件夾。要確保始終只能獲得最新版本,可以在複製任務之前添加powershell script以清除/刪除該特殊目標文件夾中的文件。

對於XAML構建,您需要定製構建模板並在構建模板中添加默認的CopyDirectory活動,以將構建結果複製到指定的放置位置。詳細的步驟請參考這個博客。還要添加一個預生成腳本來執行清理操作。

+0

嗯...不能說我熟悉vNext或XAML構建,除非這是我通過Visual Studio中的Team Explorer選項卡創建的構建基礎,我只是沒有意識到這一點? – BVernon

+0

@BVernon你使用的是什麼TFS版本? TFS2015還是2013或2017?你是在web還是在VS中創建構建? –

+0

糟糕,在我添加visual-studio-2013標籤後,沒想到添加了tfs2013標籤,但我現在添加了它。我從Visual Studio IDE中創建了這個構建。 – BVernon