2015-02-17 91 views
7

我有一個ASPNET mvc項目使用Nuget和Bower的依賴關係。現在我需要在部署時觸發bower來安裝組件,或者通過允許它們放在我的.gitignore中來包含軟件包。當然,我希望不要在回購中包含這些內容,只需在部署時安裝它們,就像使用nuget包一樣。我試圖按照本指南http://gregtrowbridge.com/deploying-a-bower-dependent-node-app-on-windows-azure/,但似乎還沒有發生。因此,任何幫助都是歡迎的。將網站部署到Azure與鮑爾依賴關係

問候

+0

你使用git來部署你的網站? – ahmelsayed 2015-02-17 23:25:51

+0

是來自bitbucket的純粹的git部署 – 2015-02-18 08:01:10

回答

12

所有天青網站的工人有亭子預裝,應該是你的路徑上。

所有你需要做的就是添加自定義部署腳本,將做bower install Here is a sample repo for an ASP.NET MVC site that uses bower

基本上確保bower.json是存在的,referenced in your csproj

<Content Include="bower.json" /> 

然後下載您的自定義部署腳本。如果你去https://<yourSiteName>.scm.azurewebsites.net然後點擊Tools -> Download custom deployment script或剛剛從D:\home\deployment\tools下載然後檢查它的根你repo like here基本上會有2個文件deploy.cmd.deployment

這是部署邏輯,追加如下的步驟來恢復涼亭中它like here最後一步有

:: 4. Bower Install 
if EXIST "%DEPLOYMENT_TARGET%\bower.json" (
    pushd "%DEPLOYMENT_TARGET%" 
    call :ExecuteCmd bower install 
    IF !ERRORLEVEL! NEQ 0 goto error 
    popd 
) 
+0

將不得不驗證這一點,因爲我已經試過這個。也許我忘了排除.gitignore – 2015-02-19 07:26:39

+0

中的一些bower軟件包,嘗試部署我鏈接到的repo,並查看它是否適用於在正確的位置恢復正確的bower組件。如果您導航到https:// .scm.azure網站,則可以輕鬆瀏覽網站的內容。淨/ DebugConsole'然後看看你的回購有什麼不同我猜爲什麼恢復沒有發生 – ahmelsayed 2015-02-19 17:20:49

+1

感謝您的評論。我在外部庫中發生錯誤,並且在一些日誌讀取和scm調查工作之後。感謝您的提示 – 2015-03-06 21:42:27

0

一個重要的除了上述的後 - 你必須推動兩個不變.deployment文件,並修改.cmd文件部署根天青隨後複製/執行你的.CMD修訂。否則,它將重新生成默認值.cmd

0

您可以使用Azure Web應用程序的控制檯功能來觸發命令。即使控制檯有訪問限制功能,您仍然可以通過使用命令安裝涼亭的部件:

bower install 

控制檯選項下的Web應用程序的部署部分中列出。您可以參考下面的屏幕以供參考。

Screen 1

先決條件:

  1. 不要發佈bowerComponents文件夾到Web應用程序。
  2. 包括bower.json文件包括所有的依賴關係。

希望它有幫助。