【问题标题】:Deploying ZIP file to Azure App Services not working将 ZIP 文件部署到 Azure 应用服务不起作用
【发布时间】:2019-09-11 04:28:39
【问题描述】:

我使用 zip-deploy 将 Web 应用部署到 Azure 应用服务:

dotnet build /nologo /p:PublishProfile=Release /p:PackageLocation="c:\Repos\world\world" /p:OutDir="c:\Repos\world\world" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" 

az webapp deployment source config-zip --resource-group <resource-group> --name <app-name> --src world.zip

但是应用没有启动或者没有正常执行,导致访问应用url时出现如下错误:

您无权查看此目录或页面。

我尝试使用 git-deploy 并且它可以通过转到我看到的 URL 来工作

Hello, world!

我把所有代码放在GitHub上供参考:https://github.com/fnbk/world

更多细节:

  • 这是一个非常简单的 ASP.NET Core Web App,只有一个根路由
  • .NET 核心 2.2
  • 在应用程序设置中将变量 WEBSITE_RUN_FROM_PACKAGE 添加到 1 也不起作用

【问题讨论】:

  • 使用 Kudu 工具或 FTP 客户端,在使用每种部署方法时查看文件夹结构。该 zip 文件中可能有一个额外的文件夹。
  • 感谢您的提示。我仔细检查了文件夹结构,似乎没问题,因为 zip 文件根目录中的一些元文件(archive.xml 和 parameters.xml)带有工件的完整路径。如果我没记错的话,zip文件会挂载到wwwroot目录source
  • 我遇到了同样的问题。在进一步检查 zip 文件本身后,它包含与项目输出相同的文件夹结构。检查 kudo 时,它是使用确切的文件夹结构解压缩的,我认为这会导致 wwwroot 内容无法正确挂载,就像@CSharpRocks 指出的那样。这可能是开关参数之一的错误。

标签: azure azure-web-app-service


【解决方案1】:

我认为这行不通。我认为创建的 zip 文件不适用于 Kudu。我确实创建了一个 github 问题(请参阅https://github.com/dotnet/cli/issues/11254),但由于还有其他方法,例如 Azure 本地 git,我不确定这个问题何时会得到解决。

【讨论】:

    【解决方案2】:

    使用WebPublishMethod=Package 创建的文件旨在通过Web Deploy 进行部署,这是一种非常不同的部署技术。您需要改用dotnet publish,然后自己压缩生成的目录。

    【讨论】:

      猜你喜欢
      • 2021-01-09
      • 2023-04-03
      • 2019-07-09
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      相关资源
      最近更新 更多