使用Azure DevOps任务“ Azure App Service Deploy” v3部署到Azure Web App Web根

时间:2019-03-19 21:27:13

标签: azure-devops azure-web-sites

我正在将Azure DevOps与“ Azure应用程序服务部署”任务(AzureRmWebAppDeployment @ 3)一起使用,以部署到Azure网站,但在部署到Web根目录时遇到了麻烦。

该应用程序是PHP,具有一个“公共”文件夹,该文件夹被设计为唯一公开公开的文件夹。文件夹结构如下:

/
  application/
  vendor/
  public/
    index.php
    favicon.ico
    images/
    etc...

当我将“虚拟应用程序”设置设置为“”(如空白)配置Azure App Service Deploy任务时,它实际上似乎默认为“ /”虚拟应用程序。

这是有问题的,因为默认应用程序(“ /”)应该指向/sites/wwwroot/public/,以便索引文件位于/sites/wwwroot/public/index.php

此设置中发生的是,当“虚拟应用程序”设置为空时,部署任务默认显示为“ /”,这导致部署到/sites/wwwroot/public,因此我的索引文件位于{{ 1}}(可通过https://app.azurewebsites.net/public/index.php在网络上访问)

如何将应用程序部署到Web根/sites/www/root/public/public/index.php,以使索引文件位于磁盘上的/sites/wwwroot/


Azure DevOps

enter image description here


应用服务

enter image description here

2 个答案:

答案 0 :(得分:0)

是的,从虚拟应用程序和目录指向“公共”的配置是正确的过程: 默认情况下,App Service将Web请求定向到您的应用程序代码的根目录。例如,Laravel从public子目录开始。如果您想访问您的应用,可以在http://example-site.com/public处进行访问,但是您确实想将http://example-site.com定向到公共目录。 确保正确设置了默认文档(index.php)。

  -<action type=”Rewrite” url=”index.php” appendQueryString=”true” />

因此进入您的公用文件夹,并在此行创建一个web.config文件   -- 如果配置全部完成,请缩小问题范围,并在可行的情况下尝试重新启动应用程序,看看是否有帮助。

答案 1 :(得分:0)

我知道这是一个较晚的答复。.但是我找到了解决方案。在您的Webapp中,配置一个虚拟应用程序并将其指向site \ wwwroot,然后在为Azure App Service Deploy配置任务时在Azure管道中,在其中设置虚拟应用程序。我已经测试过并且可以正常工作。

J