首页 > 解决方案 > 可以在不重新部署应用程序的情况下编辑部署在 Windows Azure 上的云应用程序的 web.config?

问题描述

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

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

在此处输入图像描述

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

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

标签: azureazure-devopsweb-configazure-web-app-service

解决方案


是的,可以在不重新部署应用程序的情况下进行更改。

一些细节:

检查运行包文件,我们可以找到:

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

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

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

所以我的解决方法是:

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

在此处输入图像描述

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

在此处输入图像描述

2.将那些文件(选择那些文件并右键单击...)压缩成一个childtest.zip,请在这里仔细按照我的步骤!Run-from-package 的文件夹结构有点奇怪!!!

在此处输入图像描述

3.然后压缩childtest.zipparenttest.zip(上传xx.zip时,kudu总是自动添加它们。所以我们必须先压缩childtest.zipparenttest.zip

在此处输入图像描述

4.将本地拖放parenttest.zip到在线SitePackages文件夹中kudu-debug console,我们可以得到一个childtest.zip

在此处输入图像描述

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

在此处输入图像描述

完成~

检查和测试:

现在让我们打开App Service Editor以检查更改:

在此处输入图像描述

另外:虽然它回答了原始问题,但我建议使用其他部署方法(网络部署...)作为解决方法。可以轻松很多~


推荐阅读