2012-12-29 240 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

相关问题