2013-10-18 104 views
2

我的Git存储库中有一个简单的项目结构。无法通过Git在Azure上部署静态网站

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

我建立持续部署从到位桶为api目录到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。

回答

3

这种情况现在比应该有点棘手,但这里有一种方法,你应该能够得到这个工作。您需要生成custom deployment script。如下调用它:

azure site deploymentscript --basic -p client\dist 

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

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

嘿大卫,谢谢你的回答。我按照你的指示,最终得到了和以前一样的错误信息。我甚至通过FTP进入了'repository'目录,以确保'DeployStaticSite.cmd'文件实际存在,并且是。我确定我有正确的应用程序设置(名称:'命令',值:'DeployStaticSite.cmd')。不知道为什么这不适合我。 – jessegavin

+0

那么它看起来像COMMAND应用程序设置完全被忽略?对我而言,这是有效的。例如我只是试图将它设置为'bogus.cmd'(不存在),并且它用''bogus.cmd'不能识别为内部或外部命令'爆炸。“ –

+0

这似乎是这样。应用程序设置名称是否区分大小写? – jessegavin