AppService运行/扩展到2+实例时的Azure部署

时间:2016-12-08 23:46:19

标签: powershell azure continuous-deployment

我正在为我们的项目开发一个功能,该功能将不断部署到生产中。 在开发过程中,我发现如果使用部署槽:

暂停交换到生产 在运行多个实例的Web角色中(也称为扩展模式), 交换Stage-> Prod仅发生在1个实例上。

所以问题是我可能运行staled / faulty代码。 到目前为止,我找到的唯一方法: 1.缩小规模 交换 3.向上扩展

解决方案效率不高。有没有办法热交换所有Web角色实例?

1 个答案:

答案 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

请注意,您可能需要部署服务主体才能与资源管理器进行交互

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal

4/19更新 - 我看到可能存在其他与持久性相关的问题,这些问题会在部署后弄乱应用程序,这里有两个可能有用的示例,但问题主要是应用程序特定的

  1. Disabling ARR’s Instance Affinity in Windows Azure Web Sites

  2. Azure Websites and stateful webApp