2013-10-18 145 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