【问题标题】:Deploying into Azure Web App web root with Azure DevOps task "Azure App Service Deploy" v3使用 Azure DevOps 任务“Azure App Service Deploy”v3 部署到 Azure Web App Web 根目录
【发布时间】:2019-03-19 21:27:12
【问题描述】:

我将 Azure DevOps 与“Azure App Service Deploy”任务 (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,因此我的索引文件位于 /sites/www/root/public/public/index.php(可以在网络上通过https://app.azurewebsites.net/public/index.php 访问)

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


Azure DevOps


应用服务

【问题讨论】:

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


    【解决方案1】:

    是的,从虚拟应用程序和目录指向“公共”的配置是正确的过程: 默认情况下,应用服务将 Web 请求定向到应用代码的根目录。例如,Laravel 在 public 子目录中启动。如果您希望通过http://example-site.com/public 访问您的应用程序,但您确实希望将http://example-site.com 指向公共目录。 确保已适当设置默认文档 (index.php)。

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

    所以进入你的公共文件夹,用这一行创建一个 web.config 文件 - 如果配置全部完成,只是为了缩小问题范围,如果可行,请尝试重新启动应用程序,看看是否有帮助。

    【讨论】:

      【解决方案2】:

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

      J

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-03
        • 2022-10-04
        • 1970-01-01
        • 1970-01-01
        • 2019-05-12
        • 1970-01-01
        相关资源
        最近更新 更多