【问题标题】:How isUpgrade setting affects deployment process in Service Fabric Application Deployment task in Azure DevOpsisUpgrade 设置如何影响 Azure DevOps 中 Service Fabric 应用程序部署任务中的部署过程
【发布时间】:2020-11-18 20:13:12
【问题描述】:

Azure Devops 具有将应用部署到 ServiceFabric 的标准任务。该任务名为 Service Fabric 应用程序部署,并记录在 here。在其他设置中,它包含一个可选的布尔 isUpgrade 设置(默认值“true”)。我尝试将其显式设置为 true 和 false,但我没有发现任务的行为有任何差异。在这两种情况下,部署都是成功的,所有以前部署的包仍然被预配,并且 Azure Pipelines 日志是相同的。部署时间也是一样的。

我的问题是设置会影响什么?也许,有人在他的 CI 管道中使用了它。

【问题讨论】:

    标签: deployment azure-pipelines azure-service-fabric


    【解决方案1】:

    Service Fabric 中有两种部署类型。这个isUpgrade 标志控制您正在执行的操作升级类型。

    常规

    基本上这会删除旧应用程序并部署新版本。因此,如果您有 Statefull 服务,这将删除所有状态。当您进行定期升级时,您将有停机时间。

    升级

    升级会做很多事情,它会保持状态,会做健康检查,确保服务可用。当运行状况检查失败时回滚,... 如果您的应用程序或服务未发生变化,则集群中不会发生任何变化。

    通常升级会花费更多时间(这在很大程度上取决于您的健康检查规则)。见application upgrade flowchart

    更多关于2 types的信息

    如果你look at the code的任务。你看它只有在overridePublishProfileSettingstrue 时才会生效。否则使用 PulishProfile.xml。

    【讨论】:

    • 感谢您的回答。是的,这种方式非常适合我们的无状态服务。另外,我必须将overwriteBehavior设置为Always,否则部署不成功(因为之前这个设置是SameAppTypeAndVersion
    猜你喜欢
    • 2019-03-28
    • 2019-02-14
    • 1970-01-01
    • 2016-12-09
    • 2016-09-20
    • 2019-02-11
    • 2017-04-16
    • 2017-02-10
    • 1970-01-01
    相关资源
    最近更新 更多