gpt4 book ai didi

azure - 如何在 Visual Studio Online 持续集成中更新 Azure webApp 插槽配置?

转载 作者:行者123 更新时间:2023-12-03 03:09:12 24 4
gpt4 key购买 nike

在 VSO 中发布构建版本时,我想在 Web 应用程序暂存槽中发布它。我正在使用 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持续集成中更新WebAppslot配置吗?

最佳答案

根据您的描述,我在我这边测试了一下,可以重现这个问题。您可以添加-vv选项如下以查看更详细的输出。

azure webapp stop --slot <slot name> <resource-group-name> <your-webapp-name> -vv

以下是我的 VSO 中的 Azure CLI 任务的构建日志:

注意:由于 Azure CLI 任务处于预览阶段。对于解决方法,您可以利用 Azure Powershell任务停止/启动您的网络应用程序插槽并配置 AlwaysOn 选项,步骤如下:

<强>1。添加 AZURE Powsershell 任务

<强>2。添加以下 powershell 脚本并将其推送到您的源存储库

1) 使用 Stop-AzureRmWebAppSlot 停止 Web 应用程序插槽

stop-azurermwebappslot -name "<webapp-name>" -slot "<webapp-slot-name>" -resourcegroupname "<resourcegroup-name>"

2) 配置AlwaysOn通过使用 Set-AzureRmResource

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。配置您的任务

然后我们可以看到以下构建日志:

另外,我发现有一个类似的issue关于Azure Web App部署期间停止/启动Web应用程序的选项,您可以引用它。

关于azure - 如何在 Visual Studio Online 持续集成中更新 Azure webApp 插槽配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41018810/

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