2016-03-22 35 views
1

是否可以在不使用外部VM作爲構建代理(https://azure.microsoft.com/en-us/documentation/articles/service-fabric-set-up-continuous-integration/)的情況下在VSTS上設置持續集成?Azure Service Fabric - VSTS上的持續集成

我想達到的目的是讓一個服務結構解決方案具有2個有狀態/無狀態服務(serviceA和serviceB)。我想在VSTS上將它們分別構建和部署爲不同的構建作業,但要將它們部署到Azure上相同的服務Fabric羣集(fabric:/ App/ServiceA,fabric:/ App/ServiceB)。

回答

1

從Service Fabric SDK 2.1.150和Runtime 5.1.150發行版開始,可以將使用VSTS的託管構建代理的Service Fabric應用程序部署爲可以通過NuGet包添加依賴關係 - 有關詳細信息,請參閱以下視頻。 http://www.dotjson.uk/azure-service-fabric-continous-integration-and-deployment-in-15-minutes/

在您的具體情況;只需創建2個構建定義(每個服務1個)和2個發佈定義(每個服務1個)並將它們連接到相同的託管服務結構羣集。

+0

請注意,如果您正在部署到容器,您仍然需要構建代理,因爲託管構建代理不提供對docker的直接支持。此外,vsts服務結構任務僅適用於Windows而不適用於Linux – code4cause

1

不幸的是,部署應用程序依賴於正在安裝的Service Fabric SDK,因此您需要按照說明建議設置代理。如果您不想爲Azure虛擬機支付費用,則可能需要考慮在本地運行代理服務,例如在你的發燒箱上。

請注意,使用Service Fabric可以部署應用程序而不是服務。但是,您可以獨立更新服務。

+0

你是什麼意思,通過獨立更新服務? –

+0

如果你想部署一個新版本的服務A你可以做到這一點,而無需部署一個新版本的服務B. – charisk

+0

這是對的,但你只是說我部署應用程序而不是服務,所以出現了新的問題 - 你如何實現更新單獨的服務? –

1

這聽起來像你需要在生成機器上安裝服務結構SDK,並且我猜託管代理沒有這個功能。如果是這樣的話,那麼你需要創建你自己的構建服務器VM

+0

託管代理現在應該在最近更新映像時使用服務結構SDK。 – AspiringTFSGuru