1

我正在嘗試使用VSTS(發佈集線器)來配置發佈管理。我有三種不同的環境;每個環境包含兩臺服務器。VSTS:發佈管理綁定發佈定義到多個構建或項目

擬議推出管道:

Zone1_Dev - > Zone1_QA - > Zone1_PROD(其中每一個包含兩個西弗斯)

談其中包含兩個服務器A中的相同網絡中的「Zone1_Dev」環境與乙。

我有我的解決方案兩個Web應用程序,每個服務器將承載不同的應用:

  • 服務器A承載客戶端UI(MyClientUI)
  • 服務器B承載管理UI(MyAdminUI)

enter image description here

所以,我創建了兩個不同的構建定義爲每個應用程序,因爲我想避免建築ŧ他兩個項目(因爲他們不會互相影響)。

enter image description here

AdminUI定義映射到MyAdminUI項目:

enter image description here

然後,我創建了一個版本的定義,因爲我將通過釋放管道移動如下: Zone1_Dev - > Zone1_QA - > Zone1_PROD

enter image description here

代理安裝在服務器A上,它將在AdminUI或ClientUI中獲取任何更改。如果是:

  • ClientUI,它會將它移動到Sever一個IIS目錄。
  • 如果使用AdminUI,代理將把它移動到服務器B的IIS目錄。

我的問題,我怎麼可以鏈接一個版本不同的生成定義。因爲根據我的策略,我必須創建具有相同的配置,但不同的構建定義兩個不同版本的定義。是否有一種方法可以在一個發佈定義中實現,因爲它們共享相同的管道?

+0

很肯定鏈接一個版本不同的生成定義不被支持。如果兩個版本試圖同時觸發發佈會發生什麼? 爲什麼這是一個問題?是否因爲需要維護兩個完全相同的版本? –

+0

是的,因爲我必須爲每個區域維護多個服務器(這意味着多個版本,如果該功能不存在),並且我至少有兩個區域。區域1僅包含兩臺服務器,每臺服務器託管不同的應用程序。然而,區域2(在我的問題中沒有提到)將是服務API,其中我有兩個服務器,其中一個託管7個wcf服務api項目。我會創建7個不同的版本(每個項目一個)? – Coding

回答

2

您可以發佈一個鏈接到不同的構建定義和發佈將下載所有鏈接生成定義的工件。 enter image description here

但釋放可以通過一個定義,只觸發: enter image description here

+0

謝謝@Eddie,感謝您的幫助。爲每個版本指定多個工件,然後按照建議指定發佈觸發器,如果​​我指定(特徵),則可能會錯過另一個項目(UI)中的某些更改。通過這種方式,代碼和版本不會同步。這是正確的嗎?如果我指定將觸發器指定爲「手動」,該怎麼辦? – Coding

+1

@ h.salman不,這個版本會一直下載兩個定義的最新版本。問題是,在某些情況下,對UI進行了一些更改,並且構建完成了更改。但功能沒有任何改變。然後,只有對功能進行了某些更改後纔會觸發發佈。這可能會導致UI部署延遲。在這個條件下,您可以觸發發佈手冊,以便可以及時部署UI更改。 –

+0

@ h.salman您在UI構建定義中添加了一個額外的構建步驟,以使用REST API顯式觸發發佈(假設該發佈設置爲由Feature構建定義觸發) – ds19

相關問題