Visual Studio Team Services 中的 Azure Service Fabric 持续集成失败(是 VSO)
Azure Service Fabric continuous integration fails in Visual Studio Team Services (was VSO)
我尝试设置持续集成以在 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.
由此看来,它似乎正在尝试完全重新部署服务,而不是仅仅升级服务。我搜索了所有设置并尝试创建和重新创建任务,但未能解决。
有没有人遇到过这种情况?
您需要添加或更新发布配置文件以启用升级模式,并在首次部署成功后使用该配置文件部署 Service Fabric。
要快速完成此操作,您可以右键单击您的项目并从 Visual Studio select "Publish",选中 "Upgrade the Application" 选项并单击 "Configure Upgrade Settings" 如果需要,然后单击“保存配置文件”link 和 commit/push 更改。
虽然有一个可接受的答案,但我仍然想添加到这个线程中。在下面的方法中,我们只需要编辑 Azure Devops 任务。希望这对可能遇到相同问题的其他人有用:遇到此问题时,一个简单的解决方法是将构建任务的高级设置下的 "Overwrite Behavior" 更改为 "Always"。但是,还必须注意,如果有可能已经 运行 的服务 - 所有这些服务都会通过滚动升级进行升级(见第二张图片)。
要确保滚动升级应用到所有服务,除了上述之外,还要确保升级设置配置如下:
我尝试设置持续集成以在 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.
由此看来,它似乎正在尝试完全重新部署服务,而不是仅仅升级服务。我搜索了所有设置并尝试创建和重新创建任务,但未能解决。
有没有人遇到过这种情况?
您需要添加或更新发布配置文件以启用升级模式,并在首次部署成功后使用该配置文件部署 Service Fabric。
要快速完成此操作,您可以右键单击您的项目并从 Visual Studio select "Publish",选中 "Upgrade the Application" 选项并单击 "Configure Upgrade Settings" 如果需要,然后单击“保存配置文件”link 和 commit/push 更改。
虽然有一个可接受的答案,但我仍然想添加到这个线程中。在下面的方法中,我们只需要编辑 Azure Devops 任务。希望这对可能遇到相同问题的其他人有用:遇到此问题时,一个简单的解决方法是将构建任务的高级设置下的 "Overwrite Behavior" 更改为 "Always"。但是,还必须注意,如果有可能已经 运行 的服务 - 所有这些服务都会通过滚动升级进行升级(见第二张图片)。
要确保滚动升级应用到所有服务,除了上述之外,还要确保升级设置配置如下: