gpt4 book ai didi

Azure - 使用 ARM 模板交换生产和暂存槽

转载 作者:行者123 更新时间:2023-12-03 07:26:30 25 4
gpt4 key购买 nike

我正在使用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" : {}
}
]
}
]

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

文档讨论了使用: https://management.azure.com/subscriptions/ {subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ClassicCompute/domainNames/{domainName}/swap

但我无法使其在模板中工作,因为所有操作始终都是类型/名称,而这里我只有类型。

最佳答案

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

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

关于Azure - 使用 ARM 模板交换生产和暂存槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49025107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com