2016-08-04 70 views
3

我想自動遞增基於此規則集我集版本:如何版本組件,預構建基於工作項目

  1. 修訂總是0
  2. 構建遞增時止該版本中的WIT是一個Bug修復程序
  3. 當版本包含Bug修復之外的任何WIT時,次要增加;構建然後總是被設置爲0
  4. 主要是永遠不會自動遞增

當然,這需要一個構建步驟,可以以某種方式與項目互動。

我的第一個想法是構建一個小型Windows服務,利用TFS SDK根據這些規則構建版本號並通過WCF調用等方式返回它。但是,我遇到了一個問題,所有代碼和功能都必須複製到VSTS項目中(客戶擁有代碼,並且必須能夠在沒有我的情況下繼續)。當然,這裏沒有安裝這樣的服務。

然後我考慮在他的服務器上安裝該服務,然後將其提供給VSTS。這將通過Rube Goldberg測試與飛行的顏色。

是否有更簡單的方法來完成此任務?一個可以在兩種環境中工作的人?

編輯

我發現this,但它是值得懷疑的是,TFS SDK註冊在GAC的VSTS。

有人可以確認嗎? TFS SDK是否可用於構建在VSTS上運行的腳本?

+0

您可以編輯標籤,以清楚答案適用於哪個版本?是TFS2015,VSTS,兩者,其他? –

+0

@GiulioVian:完成,謝謝。 – InteXX

回答

1

現在好了,沒過多久。我發現thisthis使用PowerShell查詢REST API。無需GAC/SDK。

- 編輯 -----------------

我特意排除這些鏈接背後的網頁內容提供的解決方案是非常複雜的;在一篇文章中無法涵蓋這些概念。如果頁面消失或改變的URL,這裏是在archive.org鏈接:

1. PowerShell and vNext Builds
2. VSTS/TFS REST API: The basics and working with builds and releases

在任何情況下,這個概念很受歡迎,以及覆蓋式的事件這兩個變得無法訪問,在同一主題上有許多其他可用的。儘快找到這些,有人可以找到更多。

+0

我會懷疑你的答案是否包含2個鏈接,但不會將這些鏈接中的相關內容複製到答案中。博客和其他網站往往會隨着時間的推移而變化,消失和破壞,這會使您的回答在當前狀態下毫無價值。 – jessehouwing

+0

GFS中不再提供TFS對象模型,但可以很容易地從Nuget下載。作爲構建的一部分或包含在自定義構建擴展中。它也可作爲構建代理本身的一部分,儘管建議依賴於您自己的副本。見:https://github.com/Microsoft/vsts-task-lib/blob/master/powershell/Docs/UsingOM.md – jessehouwing

+0

@ jessehouwing:「我會懷疑是因爲......」好點。當我發佈這個問題時,我想起了這個問題,但是由於剛剛在我的編輯中提到的原因,我拒絕收錄內容。我想我會做得很好,然後說出來。 – InteXX