0

我目前正在從全站點發布管理遷移到TFS 2015中的基於Web的版本。我注意到的一件事是,在舊客戶端中,您可以創建部署順序和配置的行動並行運行,例如我可能會在同一時間運行這兩個步驟:發佈管理TFS 2015 - 無並行任務

的SQLServer - DeployDatabase.ps1
應用服務器 - DeployWebApp.ps1

在基於Web的版本,它看起來相當於'行動'(現在被稱爲「任務」)只能連續設置。因此,當將並行任務的想法擴展到多個服務器角色(所有執行獨立步驟)時,可以看到潛在的重大損失。

爲了清楚起見,我知道您可以設置一個任務來定位一組服務器,但這會限制您一次只運行一種類型的任務。

所以我的問題是:這個功能是否存在?我在某處錯過了一個訣竅嗎?看起來新的基於Web的版本管理更多地關注事物的並行環境部署方面,忘記了需要儘可能快地通過每個環境進行部署。

編輯:我上面描述的一個例子。

Parallel Template

你可以看到,我有withing的環境中不同服務器角色出現的並行部署。我理解Daniel Mann在答案中提出的建議是創建多個環境並據此觸發,添加多個「Envs」來迎合此問題的原因是我們失去了快速複製和操作環境的所有優點。 IE我設置了一個DEV環境模板並複製這個「環境」來創建「QA」,但是如果我有一個真正的「環境」有10個「環境」,那麼我將不得不管理這個開銷。新產品中的大部分可用性可能已被刪除。或者我錯過了這個新概念?

回答

1

TFS 2015中的產品在這方面有點受限,但自那時起,產品一直在迅速改善。在TFS 2017(和VS團隊服務)中,您可以爲環境設置更強大的環境觸發器和部署條件。這使您可以「扇出」多個同步環境,然後「扇入」到後續環境。有了這一點,你可以,例如,有一個環境的管道,看起來像這樣:

  Dev 
    _____|_________ 
    |    | 
QA Database Tier QA Web Tier 
    |_______________| 
      | 
     Staging 
      | 
     etc 

無論是「QA」環境可能只要有可用來運行它們多個代理獨立並行部署。

但是,請記住TFS 2017和VS團隊服務在併發構建/部署方面的許可要求不同。 TFS 2015中的發佈中心被認爲是「預覽版」,並沒有任何特定的許可要求,可以運行多少個併發構建/部署管道。

+0

感謝Daniel的迴應。我想我會遵循,但爲了闡明您是否將圖表有效地將「QA」環境分爲兩個獨立的環境,以強制並行任務在兩個不同的服務器角色上運行? IE我會創建一個構建定義,我會爲此添加2個環境,併爲每個環境設置任務或任務,然後設置流水線觸發來同時關閉這兩個「環境」(但這種提前觸發不是2015年可用)。 – Re1ease

+0

@ Re1ease這是正確的。 –

+0

我編輯了我的問題更詳細的信息,無法將我的回覆納入評論:) – Re1ease