【问题标题】:Cannot deploy static website on azure via Git无法通过 Git 在 Azure 上部署静态网站
【发布时间】:2013-10-19 07:46:30
【问题描述】:

我的 Git 存储库中有一个简单的项目结构。

[repo]
  - api  (Contains a .NET WebApi application)
  - client
    - dist  (Contains a static html/js website using AngularJS)

我设置了从 api 目录的 Bitbucket 到 Azure 网站的持续部署,没有任何故障。我设置了一个名为project 的应用设置,并将值设置为api/ProjectName.csproj,效果很好。

我创建了一个单独的 Azure 网站,并尝试以相同的方式为静态网站设置持续部署,但它不起作用。我创建了一个名为project 的应用设置,其值为client/dist

当它尝试部署时,我在错误日志中收到以下错误消息。

无法确定要构建哪个解决方案文件。 C:\DWASFiles\Sites\flighty\VirtualDirectory0\site\repository\MyProject.sln, C:\DWASFiles\Sites\flighty\VirtualDirectory0\site\repository\client\components\moment-datepicker\MomentDatepicker.sln.

【问题讨论】:

    标签: git azure kudu


    【解决方案1】:

    这个场景现在比它应该的要复杂一些,但这里有一种方法你应该能够让它工作。

    您需要生成一个custom deployment script。调用如下:

    azure site deploymentscript --basic -p client\dist
    

    这将生成一个 .deployment 文件和一个 deploy.cmd 文件。不要提交 .deployment 文件,因为它会弄乱您的 WebAPI 场景。相反,在您的静态网站中:

    • 将 deploy.cmd 重命名为 DeployStaticSite.cmd(这是可选的,只是为了清楚它的作用)。提交此文件。
    • 在 Azure 门户应用设置中,将 command 设置为 DeployStaticSite.cmd。摆脱您的 project 设置。

    【讨论】:

    • 嗨,大卫,感谢您的回答。我按照您的指示进行操作,最终收到与以前完全相同的错误消息。我什至通过 FTP 访问了 repository 目录,以确保 DeployStaticSite.cmd 文件确实存在,而且确实存在。我确保我有正确的应用程序设置(名称:command,值:DeployStaticSite.cmd)。不知道为什么这对我不起作用。
    • 那么 COMMAND 应用程序设置看起来是否被完全忽略了?对我来说,它很有效。例如我只是尝试将其设置为bogus.cmd(它不存在),然后它就被'bogus.cmd' is not recognized as an internal or external command
    • 看起来会这样。应用设置名称是否区分大小写?
    • 不区分大小写。我刚试过command,效果很好。您可能需要分享一个最小的复制品以供调查(例如在 github 上),以防您那里的某些东西解释了差异。
    • 这是生成部署脚本的绝佳方式。谢谢。希望 Azure 团队将其引入 Azure 仪表板,所以我们需要做的就是选择要部署的分支和文件。这几乎就是 kudu 部署脚本正在做的事情。
    猜你喜欢
    • 2013-05-03
    • 1970-01-01
    • 2018-03-23
    • 2020-05-16
    • 1970-01-01
    • 2019-01-10
    • 2018-09-13
    • 1970-01-01
    • 2020-04-04
    相关资源
    最近更新 更多