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

Possible to edit web.config of cloud app deployed on windows Azure without redeploying app?

我想在 Azure Web 应用程序的 web.config 上添加重写 URL 代码,而无需再次重新部署整个应用程序。为此,我使用 'app service editor' 和 'kudu- debug console' 来编辑 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.

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

一些细节:

查看Run the package文档可以发现:

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

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

3.App 服务将上传的包安装为 read-only wwwroot 目录,并直接从该安装目录运行应用程序。 (所以不能直接编辑read-only wwwroot目录)

所以我的解决方法是:

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

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

2.Zip那些文件(选择那些文件和right-click...)变成childtest.zip,请仔细按照我的步骤操作! Run-from-package的文件夹结构有点奇怪!!!

3.Then zip the childtest.zip into parenttest.zip(当上传xx.zip, kudu总是自动extra他们。所以我们必须zip the childtest.zip先进入parenttest.zip)

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

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

完成~

检查测试:

现在让我们打开App Service Editor来检查变化:

此外: 虽然它回答了最初的问题,但我建议使用其他部署方法(网络部署...)作为解决方法。它可以更容易~