2016-03-22 36 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