是否可以在不重新部署应用程序的情况下编辑部署在Windows Azure上的云应用程序的web.config?

时间:2020-09-28 12:59:50

标签: azure azure-devops web-config azure-web-app-service

我想在Azure Web应用程序的web.config上添加重写URL代码,而无需再次重新部署整个应用程序。为此,我使用“应用程序服务编辑器”和“ kudu-调试控制台”来编辑web.config,首先,我无法保存文件并给我错误。 enter image description here

经过一番搜索,我发现APP SETTING KEY下的值应该是0而不是1

enter image description here

将值1修改为0并保存APP SETTING KEY,之后我可以编辑配置文件,为了再次测试代码,我将值0更改为1并保存设置。但是,当我刷新在编辑器或kudu中打开的文件时,粘贴的代码消失了,该站点已连接到自动的Azure部署管道

How I can edited the web.config file without redeploying the app again.

1 个答案:

答案 0 :(得分:1)

是的,可以进行更改而无需重新部署应用。

一些详细信息:

检查Run the package文档,我们可以找到:

1。zip包不会解压缩到D:\home\site\wwwroot,而是直接上传到D:\home\data\SitePackages

2。将在同一目录中创建一个packagename.txt,其中包含要在运行时加载的ZIP包的名称。

3.App Service将上载的软件包作为只读wwwroot目录挂载,并直接从该挂载目录运行应用程序。 (这就是为什么我们不能直接编辑只读wwwroot目录的原因)

所以我的解决方法是:

1。通过D:\home\data\SitePackages导航到kudu- debug console

enter image description here

下载代表已部署应用程序的zip文件(在我的情况下为20200929072235.zip),解压缩该zip文件,并对web.config文件进行一些更改。

enter image description here

2。将这些文件(选择这些文件并右键单击...)压缩到childtest.zip中,请在这里仔细执行我的步骤!!! Run-from-package的文件夹结构有点奇怪!!!

enter image description here

3。然后将childtest.zip压缩到parenttest.zip中(上传xx.zip时,kudu总是自动将它们附加。因此,我们必须将childtest.zip压缩到{{1}中}首先)

enter image description here

4。Drag and drop本地parenttest.zipparenttest.zip的在线SitePackages文件夹中,我们现在可以得到一个kudu-debug console

enter image description here

5。修改childtest.zip,将内容从packagename.txt更改为20200929072235.zip,然后保存

enter image description here

完成

检查并测试:

现在让我们打开childtest.zip来检查更改:

enter image description here

此外:尽管它回答了原始问题,但我建议使用其他部署方法(网络部署...)作为解决方法。可能会容易得多〜