【问题标题】:Azure Service Fabric continuous integration fails in Visual Studio Team Services (was VSO)Azure Service Fabric 持续集成在 Visual Studio Team Services(原为 VSO)中失败
【发布时间】:2016-12-21 01:36:54
【问题描述】:

我已尝试设置持续集成,以便在 Team Services 中的 git push 事件上自动部署我的 Azure Service Fabric 集群。我根据本指南遵循了团队服务构建定义和团队服务发布定义的默认模板:

Set up continuous integration for a Service Fabric application by using Visual Studio Team Services

这是我的设置:

在大多数情况下,第一次部署一切正常。之后它会抛出以下错误:

An application with name 'fabric:/<APP>' already exists, its type is '<APP>Type' and version is '1.0.0.20160812.7'. You must first remove the existing application before a new application can be deployed or provide a new name for the application.

由此看来,它似乎是在尝试完全重新部署服务,而不是仅仅升级服务。我搜索了所有设置并尝试创建和重新创建任务,但未能解决。

有人遇到过这种情况吗?

【问题讨论】:

    标签: c# azure azure-devops azure-service-fabric azure-pipelines


    【解决方案1】:

    您需要添加或更新发布配置文件以启用升级模式,并在首次部署成功后使用该配置文件部署 Service Fabric。

    要快速完成此操作,您可以右键单击您的项目并从 Visual Studio 中选择“发布”,选中“升级应用程序”选项并在需要时单击“配置升级设置”,然后单击“保存配置文件”链接并提交/推送更改。

    【讨论】:

    • 为了提供一些透明度,选中该框将在PublishProfiles/Local.xml 文件中添加一些xml。您也很可能希望在您的 Cloud.xml 文件中执行此操作。
    • 它在 标签中添加了这个:
    【解决方案2】:

    虽然有一个公认的答案,但我仍然想添加到这个线程。在下面的方法中,我们只需要编辑 Azure Devops 任务。希望这对可能遇到相同问题的其他人有用:遇到此问题时,一个简单的解决方法是将构建任务的高级设置下的“覆盖行为”更改为“始终”。但是,还必须注意,如果有可能已经在运行的服务 - 所有这些服务都会通过滚动升级进行升级(参见第二张图片)。

    为确保滚动升级适用于所有服务,除上述内容外,还要确保升级设置配置如下:

    【讨论】:

    • 在 Visual Studio 中使用发布功能时会怎样?哪个选项提供“始终覆盖”功能?
    • devops 中的覆盖是删除和替换还是升级还是相同的东西,但术语不同?
    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-05
    • 2016-11-21
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    相关资源
    最近更新 更多