Azure-虚拟应用程序部署覆盖根应用程序

Azure-虚拟应用程序部署覆盖根应用程序,azure,azure-devops,azure-pipelines,azure-appservice,Azure,Azure Devops,Azure Pipelines,Azure Appservice,我正在尝试创建三个应用程序的Azure部署(带有虚拟应用程序的应用程序服务)。结构应如下所示: /app-1 /app-2 / 其中第三个应用程序包含在根目录中,包含一些静态文件(index.html、Web.config) 为了实现这个目标,我创建了两个发布管道: 将app-1和静态文件部署到root 部署app-2 当我运行app-2管道,然后运行app-1&tatic files管道时,一切正常。但是,当最后运行app-2管道时,根(第三个应用程序)将被清除,即使它被配置为仅部署到相应的

我正在尝试创建三个应用程序的Azure部署(带有虚拟应用程序的应用程序服务)。结构应如下所示:

/app-1
/app-2
/
其中第三个应用程序包含在根目录中,包含一些静态文件(index.html、Web.config)

为了实现这个目标,我创建了两个发布管道:

  • 将app-1和静态文件部署到root
  • 部署app-2
  • 当我运行app-2管道,然后运行app-1&tatic files管道时,一切正常。但是,当最后运行app-2管道时,根(第三个应用程序)将被清除,即使它被配置为仅部署到相应的虚拟应用程序

    有什么想法吗

    编辑: 找到了一个解决办法。所有部署Azure应用程序服务任务都添加了其他部署选项-Web部署、保留文件

    与以前一样执行了相同的命令,但似乎有效。

    解决方法 将任务版本更改为3。 (34-packageForLinux for version 3与v4中的别名不同,这两个版本之间有一个重要的变化)

    输入json(自述文件中不清楚什么是输入名称):

    自述:

    本期github的更多信息:


    在过去的几天里,我也遇到了同样的问题,我终于找到了解决办法。这不是我们想要的,但至少是有效的


    对于我来说,web deploy的变通方法无法正常工作,因为我的应用程序正在使用旧部署中的应用程序文件重写根目录。(欧欧)


    此问题与我的问题非常相似,因此我将另一个解决方法留在这里。

    默认情况下,您的部署发生在Azure Web App中的根应用程序上。如果要部署到特定的虚拟应用程序,请在Azure应用程序服务部署任务的虚拟应用程序属性中输入其名称。请注意,每个应用程序都具有映射到D:\home\site\wwwroot的默认根路径(/),默认情况下,您的代码部署在D:\home\site\wwwroot。如果你的应用程序根目录位于不同的文件夹中,或者如果你的存储库有多个应用程序,你可以编辑或添加虚拟应用程序和目录。是的,如上所述,我正在使用虚拟应用程序。发布管道具有虚拟应用程序配置。