0

由於硬件要求,每個集羣必須至少有3臺服務器,我希望使用該硬件來支持多個分支機構/環境。具體而言,我們通常有3個Dev和3個Test分支同時運行,以支持多個並行開發項目。在我們發佈到生產之後,代碼被合併回其他分支。服務結構 - 如何在一個集羣上部署多個代碼分支?

我知道我可以創建一個應用程序類型的多個實例,但我認爲我真的需要的是在同一個集羣上擁有多個版本的應用程序類型。 A和B分支機構同時可能會發生這種情況。我們希望測試這兩個分支並將其部署到開發羣集。

同樣,我想使用同一個羣集來公開測試環境端點。所以隨着代碼被提升,我可以部署應用程序的TestB版本,如果發現錯誤修復,那些將被修復並部署在該應用程序類型的DevB版本中。

要處理,我們正在計劃在具有生成腳本的WebAPI端點端口問題選擇了環境的具體的WebAPI服務清單,因爲它包含一個公開服務織物應用程序調用應用程序的端口號。因此,我將擁有一個ServiceManifest-DevB.xml文件,該文件被重命名爲普通的舊ServiceManifest.xml,並在DevB構建完成時與其打包在一起。然後ServiceManifest-TestB.xml將執行相同的操作,但具有不同的端口。另一種選擇是Tokenizer。

但我在如何讓羣集上運行相同的應用程序類型的不同版本掙扎?我可以覆蓋參數文件中的應用程序類型或沿着這些行嗎?我真的希望我不需要爲此創建6個羣集?這是一大堆不會飛的硬件。

請幫忙在此先感謝, 格雷格

回答

0

我一年前有這個問題,並把這個下來。現在它的背部,所以這次我會記錄它!

我使用我的兩個開發和測試環境的一個集羣,我們利用這兩個分支。我需要能夠在不同的應用程序名稱下部署這兩個分支的應用程序。

算出這個我也跟着PS1線索。首先查看剛剛將PublishProfile傳遞到Publish-NewServiceFabricApplication.ps1的Deploy-FabricApplication.ps1。這個人在Utilities.ps1中使用了一個名爲Get-ApplicationNameFromApplicationParameterFile的方法。所有這一切確實是開放的環境,特定的應用程序參數文件並讀取它關閉頂部:

使用,這是我開發的應用放慢參數文件:

<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/MyAppDEVA" xmlns="http://schemas.microsoft.com/2011/01/fabric"> 

使用這在我的測試中的應用放慢參數文件」

<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/MyAppTEST" xmlns="http://schemas.microsoft.com/2011/01/fabric"> 

當你知道易涼風習習,知道是成功的一半。

1

當你通過創建新ServiceFabricApplication應用程序實例,您可以通過應用程序的所需版本。只需複製,註冊,然後新建您需要的應​​用程序類型和版本即可。

+0

嗨,老兄,對不起,在又回到了你這裏的輕微的延遲。:)如果您正在手動部署,則具有正確答案,但如果使用應用程序參數文件和發佈配置文件,則答案是更新ApplicationParamter文件中的ApplicaitonName。 – gperrego

相關問題