我正在为我们的项目开发一个功能,该功能将不断部署到生产中。 在开发过程中,我发现如果使用部署槽:
暂停交换到生产 在运行多个实例的Web角色中(也称为扩展模式), 交换Stage-> Prod仅发生在1个实例上。
所以问题是我可能运行staled / faulty代码。 到目前为止,我找到的唯一方法: 1.缩小规模 交换 3.向上扩展
解决方案效率不高。有没有办法热交换所有Web角色实例?
答案 0 :(得分:0)
我们按照Microsoft的指导进行部署实施 https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-staged-publishing
结果实例计数将在部署后持续
要创建临时插槽,-Slot为Staging
New-AzureRmWebAppSlot -ResourceGroupName [resource group name] -Name [app name] -Slot [deployment slot name] -AppServicePlan [app service plan name]
交换插槽
$ParametersObject = @{targetSlot = "[slot name – e.g. “production”]"}
Invoke-AzureRmResourceAction -ResourceGroupName [resource group name] -ResourceType Microsoft.Web/sites/slots -ResourceName [app name]/[slot name] -Action slotsswap -Parameters $ParametersObject -ApiVersion 2015-07-01
请注意,您可能需要部署服务主体才能与资源管理器进行交互
4/19更新 - 我看到可能存在其他与持久性相关的问题,这些问题会在部署后弄乱应用程序,这里有两个可能有用的示例,但问题主要是应用程序特定的