【发布时间】:2021-08-23 01:50:09
【问题描述】:
基本上,我正在寻找一种部署 azure fabrics 的方法,其中只根据版本号更新服务。
我正在通过 azure devops 部署服务结构应用程序。我编写了一个脚本,它执行差异并更新 ApplicationManifest.xml 和 ServiceManifest.xml 上的版本号。此脚本已经过测试,它会为已更改的服务正确更新版本。
现在,当我尝试部署时,我收到以下错误消息:
##[错误]Service Manifest 'MyMicroServicePkg'中CodePackage Name:Code and Version:1.0.111的内容已经改变,但是版本 号码是一样的。
在我更新每个包的版本之前,此错误消息会不断显示一项服务。基本上它迫使我更新每一个包。
这是我正在使用的发布配置文件:
<?xml version="1.0" encoding="utf-8"?>
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools">
<ClusterConnectionParameters .... />
<ApplicationParameterFile Path="..\ApplicationParameters\PublishProfName.xml" />
<CopyPackageParameters CompressPackage="true" />
<UpgradeDeployment Mode="Monitored" Enabled="true">
<Parameters FailureAction="Rollback" Force="True" />
</UpgradeDeployment>
</PublishProfile>
这是 yaml 上的 devops 任务:
- task: ServiceFabricDeploy@1
inputs:
publishProfilePath: $(publishProfilePath)
applicationPackagePath: $(applicationPackagePath)
serviceConnectionName: ${{ parameters.connection }}
overrideApplicationParameter: true
upgradeMode: Monitored
FailureAction: Rollback
# 30 mins timeout
UpgradeTimeoutSec: 3600
我在网上查到了这个问题。通常人们谈论如何确保所有代码更改的服务都有版本更新。就我而言,我肯定会针对更改的服务更新版本。
如何配置部署以使其不进行任何代码比较并仅更新具有更新版本的服务?
【问题讨论】:
标签: azure azure-devops azure-service-fabric