【发布时间】:2016-06-13 04:47:42
【问题描述】:
根据以下文档,我在 Visual Studio Team Services 中为 Service Fabric 应用程序配置了 CI 构建:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-set-up-continuous-integration
但我没有让我的 CI 构建执行发布,而是只执行构建和打包任务,并将所有与 Service Fabric 相关的输出(例如 pkg 文件夹、脚本、发布配置文件和应用程序参数)包含在 drop 中。通过这种方式,我可以将其传递给新的发布管道(基于代理的发布),以执行我的服务结构应用程序的实际部署。
在我的发布定义中,我有一个 Azure Powershell 任务,它使用 ARM 端点(配置了适当的服务主体)。
当我将应用部署到现有的 Service Fabric 集群时,我使用默认的 Deploy-FabricApplication cmdlet 传递 pkg 文件夹和配置了与现有集群的连接的发布配置文件。
发布失败并显示错误消息“集群连接实例为空”。我不明白为什么?
做一些调试我发现: Deploy-FabricApplication cmdlet 可以正常执行 Connect-ServiceFabricCluster cmdlet,但一旦 Publish-NewServiceFabricApplication cmdlet 接管执行,群集连接就会丢失。
我希望使用服务结构 cmdlet 可以实现这种情况,但我无法弄清楚如何在部署期间保持集群连接打开。
更新:文档链接不再引用 Service Fabric PowerShell 脚本,因此不再记录此问题的先决条件。这篇文章现在提到了 VSTS 构建和发布任务,它比我尝试使用的 powershell cmdlet 更受欢迎。
【问题讨论】:
-
你能分享错误日志吗?它总是发生吗?您使用的是哪个代理?通常,运行 Publish-NewServiceFabricApplication 时集群连接不应丢失。
标签: azure-devops azure-pipelines azure-service-fabric