如何在 Visual Studio 在线持续集成中更新 Azure webApp 插槽配置?
How to update Azure webApp slot configuration in Visual Studio Online continuous integration?
在 VSO 中发布构建时,我想在 webapp 暂存槽中发布它。我正在使用 NewRelic,所以我必须停止暂存环境,并在部署前将 AlwaysOn 选项设置为 false,然后在部署后将其打开并启动。
这就是我在部署任务之前使用 Azure CLI 任务所做的事情:
call azure webapp config set --slot staging Default-Web-WestEurope instanceName --alwayson false
call azure webapp stop --slot staging Default-Web-WestEurope instanceName
当我在我自己的桌面上的 Azure CLI 上启动这些命令时,它运行良好。但是当我把这个脚本放在 VSO 上的 Azure CLI 任务上时,它可以工作......但是在生产槽上。
这很烦人,因为它降低了产量。
你知道如何在 VSO 持续集成中更新 WebApp slot 配置吗?
根据你的描述,我在自己这边测试过,可以重现这个问题。您可以按如下方式添加 -vv
选项以查看更详细的输出。
azure webapp stop --slot <slot name> <resource-group-name> <your-webapp-name> -vv
这是来自我的 VSO 的 Azure CLI 任务的构建日志:
注意: 由于 Azure CLI 任务处于预览状态。解决方法是,您可以利用 Azure Powershell
任务到 stop/start 您的网络应用程序插槽,并按照以下步骤配置 AlwaysOn 选项:
1.添加 AZURE Powsershell 任务
2。添加以下 powershell 脚本并将其推送到您的源存储库
1) 使用 Stop-AzureRmWebAppSlot
停止网络应用槽
stop-azurermwebappslot -name "<webapp-name>" -slot "<webapp-slot-name>" -resourcegroupname "<resourcegroup-name>"
2) 使用 Set-AzureRmResource
配置 AlwaysOn
Set-AzureRmResource -resourcename "<webapp-name>\slots\<webapp-slot-name>/web" -ResourceGroupName "<resourcegroup-name>" -ResourceType "Microsoft.Web/sites/config" -ApiVersion 2015-08-01 -propertyobject @{alwaysOn = $false;} -v -force
3。配置您的任务
然后我们可以看到如下构建日志:
另外,我发现在部署Azure Web App的过程中,关于stop/start web app的选项也有类似的issue,你可以参考一下。
在 VSO 中发布构建时,我想在 webapp 暂存槽中发布它。我正在使用 NewRelic,所以我必须停止暂存环境,并在部署前将 AlwaysOn 选项设置为 false,然后在部署后将其打开并启动。
这就是我在部署任务之前使用 Azure CLI 任务所做的事情:
call azure webapp config set --slot staging Default-Web-WestEurope instanceName --alwayson false
call azure webapp stop --slot staging Default-Web-WestEurope instanceName
当我在我自己的桌面上的 Azure CLI 上启动这些命令时,它运行良好。但是当我把这个脚本放在 VSO 上的 Azure CLI 任务上时,它可以工作......但是在生产槽上。
这很烦人,因为它降低了产量。
你知道如何在 VSO 持续集成中更新 WebApp slot 配置吗?
根据你的描述,我在自己这边测试过,可以重现这个问题。您可以按如下方式添加 -vv
选项以查看更详细的输出。
azure webapp stop --slot <slot name> <resource-group-name> <your-webapp-name> -vv
这是来自我的 VSO 的 Azure CLI 任务的构建日志:
注意: 由于 Azure CLI 任务处于预览状态。解决方法是,您可以利用 Azure Powershell
任务到 stop/start 您的网络应用程序插槽,并按照以下步骤配置 AlwaysOn 选项:
1.添加 AZURE Powsershell 任务
2。添加以下 powershell 脚本并将其推送到您的源存储库
1) 使用 Stop-AzureRmWebAppSlot
停止网络应用槽stop-azurermwebappslot -name "<webapp-name>" -slot "<webapp-slot-name>" -resourcegroupname "<resourcegroup-name>"
2) 使用 Set-AzureRmResource
配置AlwaysOn
Set-AzureRmResource -resourcename "<webapp-name>\slots\<webapp-slot-name>/web" -ResourceGroupName "<resourcegroup-name>" -ResourceType "Microsoft.Web/sites/config" -ApiVersion 2015-08-01 -propertyobject @{alwaysOn = $false;} -v -force
3。配置您的任务
然后我们可以看到如下构建日志:
另外,我发现在部署Azure Web App的过程中,关于stop/start web app的选项也有类似的issue,你可以参考一下。