2013-10-15 132 views
4

我開始了將在Azure上託管的ASP.net Web項目,但我不確定是否將該項目作爲常規ASP.net應用程序開發並部署它作爲Azure上的網站,或者將其作爲具有Web角色的雲應用程序進行開發。將網站部署爲天藍色包作爲

該項目的本質是一個網站(簡單的數據庫後端),但問題是部署之一。我們的目標是構建應用程序的版本,然後部署到分段和生產環境,這意味着構建的輸出應該產生一個包(類似於msdn中描述的內容)。

關於如何create a service package發佈雲服務有很多信息,但發佈網站到azure的文章遵循'web部署'方案,通過Visual Studio(Azure等訂閱文件)進行部署。

有沒有辦法將網站部署到Azure作爲一個包?還是像Visual Studio這樣的工具需要進行Web部署?如果是這樣,那麼將該項目組合爲只有Web角色的雲服務纔是正確的選擇?

+0

看看微軟的部署,這是VS鉤住它的「部署」機制,可以通過命令行和IIS進行控制 –

+2

在考慮諸如部署包之類的細節之前,應該考慮Web站點和雲服務(具有Web/Worker角色)。我發佈[這個答案](http://stackoverflow.com/questions/10941488/what-is-the-difference-between-an-azure-web-site-and-an-azure-web-role/10941526#10941526 )試圖解決這個問題。 –

回答

4

我在問題中發佈了關於Cloud Service &網站之間差異的評論,但要回答您關於打包的問題:Cloud Services &網站採用兩種不同的部署方法,並且沒有真正的「適用於兩者」包裝:

  • 網站旨在從源代碼存儲庫接受您的代碼部署。這個想法是,你有一個標籤的代碼版本,並從TFS,git,Bitbucket等中推出它。你也可以用ftp將你的代碼推上去,或者把它放到dropbox文件夾中。由於Web站點在IIS中運行,並且由於您無法控制運行Web站點的VM場,因此無法像使用Cloud Services一樣推送startup scripts;您無法安裝註冊表更新,COM對象,msi的...
  • 雲服務是圍繞無狀態VM模型設計的。每當您向外擴展(添加實例)時,都會啓動基線Windows Server VM,並將部署軟件包的內容複製到新VM實例並執行。這包括啓動腳本,安裝程序等。由於您可以管理級別訪問每個虛擬機,因此您可以從啓動腳本/ OnStart()中根據需要對其進行配置。每個角色的定義合併爲一個部署包。要更新一個或多個角色,您需要重新部署軟件包。

網站沒有工具的先決條件,而云服務需要Visual Studio或Eclipse來幫助您管理部署包。您也可以使用PowerShell和Visual Studio命令行工具來構建軟件包,就像上面評論中提到的@Ben Robinson一樣。您還可以使用PowerShell創建和管理網站。雲服務和網站都提供分段生產插槽。

您無法將部署包推送到網站。

+0

很好的答案,這個。我最近才加入Azure,並且很難理解網站和雲服務之間的根本區別。現在它完全有意義爲什麼一個網站需要一個臨時環境。 – MoSlo

+0

+1指出網站和雲服務之間的差異 – Costin

+0

新手體驗,但我已記錄在這裏我的想法 - http://vijaytech.net/post/Windows-Azure-Virtual-Machine-vs-Cloud-Services。希望它的一些幫助 – VJVRR

1

David的答案在涵蓋雲服務選項方面做得很好。但是,我相信Azure網站選項非常適合您的需求。您不必使用Visual Studio進行部署。相反,您可以在Visual Studio中創建一個發佈配置文件,該配置文件創建一個Web部署包,該包只是一個ZIP文件,可以稍後使用命令行工具發佈,而不需要Visual Studio。它還會生成一個可以運行以部署到遠程服務器的.deploy.cmd文件,以及一個帶有參數(例如可以針對目標部署環境修改的連接字符串)的SetParameters.xml文件。 .deploy.cmd文件調用msdeploy。EXE的實際部署。

有關Web部署命令行部署的更多詳細信息,請參閱this。還有大量關於MSDeploy及其包裝系統的信息,其網址爲Sayed Ibrahim Hashimi's blog

1

如果您希望能夠直接在Web應用程序中更改文件,那麼最好使用Azure Web App,因爲您可以通過FTP訪問它們。

但是,Azure Cloud Service不提供FTP訪問權限,至少不允許您使用FTP客戶端上傳文件。雲服務是您不想因爲託管Web應用程序的大部分細節而煩惱太多的地方。雖然Azure Web應用程序可以完成大部分的功能,但它也允許您進行FTP訪問並直接訪問部署後的文件。

相關問題