【问题标题】:Azure - Swap production and staging slot using ARM TemplatesAzure - 使用 ARM 模板交换生产和暂存槽
【发布时间】:2018-02-28 08:32:32
【问题描述】:

我正在使用 ARM 模板来部署云服务。一旦部署到暂存槽,我就会激活它,从而触发 VIP 交换。

当我想回滚并切换暂存和生产阶段时,我们会再次激活暂存的部分。

问题是它需要我知道暂存槽中的部署标签是什么。

"resources" : [{
        "apiVersion" : "2014-06-01",
        "type" : "Microsoft.ClassicCompute/domainNames",
        "name" : "[parameters('serviceDomainName')]",
        "location" : "[variables('resourceLocation')]",
        "resources" : [{
                "apiVersion" : "2015-12-01",
                "name" : "[parameters('deploymentLabel')]",
                "type" : "active",
                "dependsOn" : [
                    "[resourceId('Microsoft.ClassicCompute/domainNames', parameters('serviceDomainName'))]",
                ],
                "properties" : {}
            }
        ]
    }
]

有没有办法在不知道部署标签的情况下强制交换?

Documenation 谈论使用: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ClassicCompute/domainNames/{domainName}/swap

但我无法让它在模板中工作,因为所有操作总是type/name,而这里我只有输入。

【问题讨论】:

标签: azure azure-resource-manager azure-cloud-services


【解决方案1】:

如果您只有两个部署槽并且遵循标准命名约定,这应该是可以实现的,因为您只需在使用生产槽切换时提供源槽名称。

如果您有两个以上的部署槽和/或如果您没有遵守命名约定,您将无法生成一个硬编码的 ARM 模板来进行交换。当然,需要注意的是,如果您确实知道插槽的名称,您可以简单地对其进行参数化,为您提供一个通用的插槽交换模板。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2016-10-10
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多