2012-12-29 123 views
4

我在Visual Studio 2012中開發.NET上的C#,MVC4,EF5 Code First應用程序,並使用VS發佈機制將它部署到Azure網站Azure SQL數據庫。如何在Azure上使用Git部署C#,MVC4應用程序

我現在想要使用Git和GitHub進行版本控制,並在項目中涉及其他人。然而,雖然我熟悉在LAMP環境中使用Git,但我沒有在Windows,Azure網站和編譯環境中使用Git的經驗。

我想將Azure網站用作生產服務器,將另一個Azure網站用作登臺服務器,使用Visual Studio進行開發的開發人員Windows計算機以及將GitHub用作中央存儲庫。

這裏有一篇有用的文章:http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-git/。我可以在這裏找到需要的東西,比如Azure上的PHP應用程序。但我不確定使用已編譯的應用程序的最佳方法,以及使用Azure網站和Visual Studio可以實現的功能。

在正確的方向推動或兩個將不勝感激!

回答

8

不會從VS發佈到azure,而是設置您的天藍色網站以從github回購中拉出。部署過程會編譯您的解決方案。

手錶http://www.youtube.com/watch?v=5NGieL0tinw&feature=youtu.be&hd=1或閱讀http://vishaljoshi.blogspot.com/2012/09/continuous-deployment-from-github-to.html

而且SocttGu宣佈這個在他的博客@http://weblogs.asp.net/scottgu/archive/2012/09/17/announcing-great-improvements-to-windows-azure-web-sites.aspx他也即將出版分支的很酷的功能的會談,這將指甲您的要求的階段服務器和生產服務器。有一個舞臺分支和一個生產分支,並根據需要合併它們。請參閱「支持多個分支」部分

看起來像他們最終添加了對私人回購的支持。

appharbor是Azure的競爭對手,它的功能類似。

+0

快速瀏覽一下這些鏈接。正是我需要的,謝謝。 – harunahi

1

您基本上正在引入一個新的步驟,要求必須先編譯源代碼,然後才能將其部署到服務器。你在哪裏實施這一步取決於你。您可以:

  1. 確保您的目標服務器具有編譯源代碼的能力(某些持續集成工具可以幫助實現此目標,例如CruiseControl.NET)。這有一個警告,即目標服務器能夠編譯源代碼(甚至可能需要安裝Visual Studio),所以這可能不是一個選項。
  2. 檢查編譯後的二進制文件到源代碼控制中。您可以將這些編譯的二進制文件與主源代碼分支分開,以保持乾淨。將二進制文件部署到目標服務器。
  3. 前兩種選擇的一些混合也是可能的;您可以使用CruiseControl.NET建立一個持續集成服務器,該服務器可以檢查當前源並構建它,然後將生成的二進制文件檢查回特殊分支,然後將該分支部署到目標服務器。
+0

謝謝,這些是有用的評論。我希望繼續使用Azure WebSites。我想如果我有一個CI服務器,我至少需要一個Azure WebRole來運行CruiseControl.NET之類的東西?不確定。目前,完整的CI服務器對我來說可能是過度殺傷性的。 – harunahi

+2

Azure將爲您編譯代碼 - 在部署到服務器之前,您不需要執行此操作。 – ChadT

相關問題