【问题标题】:Azure App Service Web app deploy puts files in wrong folderAzure App Service Web 应用部署将文件放在错误的文件夹中
【发布时间】:2021-12-03 16:13:54
【问题描述】:

我刚刚开始通过 Azure Devops 中的发布管道部署我的 asp.net 应用程序。

以前,我一直使用发布直接从 Visual Studio 部署我的网络应用程序,效果很好。

但是当我在 Azure 开发操作的发布管道中设置它时它不起作用,当我尝试加载我刚刚得到的页面时:

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

通过服务器资源管理器查看已部署的文件,我可以看到文件位于“Drop”文件夹中

但是在直接从 VS 部署时查看已部署的文件时,它看起来像:

我知道这一定取决于我如何配置构建或发布管道,但我看不到在哪里。

发布管道

我在这里看到我设置了 Drop 文件夹的路径,但我补充说,如果没有它,它会失败....我认为

【问题讨论】:

  • 这是您管道的构建部分 - 我敢打赌,如果您查看了 Publish Artifact 步骤,这将解释 drop 文件夹,因为这是默认的工件发布位置。现在的问题变成了,您的发布管道在做什么?您可以在您的版本中发布部署步骤的屏幕截图吗?
  • @WaitingForGuacamole 已如上更新。我只是要在没有映射到 Drop 的路径的情况下运行它

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


【解决方案1】:
  • 当我们使用Publish Build Artifacts 任务时,此任务在构建管道中将构建工件发布到Azure Pipelines
  • Azure Pipelines 是基于 构建的服务器。 当我们的工件从云端下载到本地时,就像雨滴一样。所以,默认命名为drop
  • ArtifactName 的默认值 - drop
  • 当我们使用发布工件 dist 文件夹和ArtifactName: drop/dist 时,Azure Devops 将首先创建一个新文件夹drop,然后发布工件@ 987654328@ 文件夹到该文件夹​​ drop

您无权查看此目录或页面

  • 自从它投入生产以来,它没有显示任何有用的错误消息。
  • 出于测试/调试目的,您可以打开 Azure 详细消息传递,并在准备好投入生产时关闭。
  • 按照这两个步骤,
  • 登录到 Azure > 应用服务(左侧菜单)> Your Web App > 应用服务日志,然后打开 Detailed Error Messages 或打开所有日志记录选项。
  • 现在在您的 Web Config 文件中添加以下内容,
  • 在您的 Web Config 文件中添加 <customErrors mode="Off" /> 在 system.web 结束标记之前,</system.web>
  • 同样,在</system.webServer> 之前添加<httpErrors errorMode="Detailed"></httpErrors>。 如果您正确执行了这些步骤,则会详细显示错误消息,并希望您能从中找出问题所在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多