如何使用Git在Azure上部署C#,MVC4应用程序

时间:2012-12-29 15:32:25

标签: c# git azure asp.net-mvc-4 visual-studio-2012

我正在Visual Studio 2012中开发.NET上的C#,MVC4,EF5 Code First应用程序,并使用VS发布机制将其部署到Azure网站和Azure SQL数据库。

我现在想要使用Git和GitHub进行版本控制,并让其他人参与项目。

然而,虽然我熟悉在LAMP环境中使用Git,但我没有使用Git与Windows,Azure网站和编译环境的经验。

我想使用Azure网站作为生产服务器,将另一个Azure网站用作临时服务器,开发使用Visual Studio进行开发的Windows机器和使用GitHub作为中央存储库。

这里有一篇有用的文章:http://www.windowsazure.com/en-us/develop/net/common-tasks/publishing-with-git/。我可以了解一下这里需要什么,例如,Azure上的PHP应用程序。但我不确定编译应用程序的最佳方法以及使用Azure网站和Visual Studio可以实现的目标。

非常感谢正确方向的一两个推动!

2 个答案:

答案 0 :(得分:8)

不要从VS发布到azure,而是将您的azure网站设置为从github repo中提取。部署过程会编译您的解决方案。

观看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的竞争者,它做了类似的事情。

答案 1 :(得分:1)

您基本上引入了一个新步骤,要求必须先编译源代码,然后才能将其部署到服务器。您实施此步骤的地方取决于您。你可以:

  1. 确保目标服务器具有编译源代码的功能(某些持续集成工具可以帮助解决此问题,例如CruiseControl.NET)。这有一个警告,即目标服务器能够编译源代码(甚至可能需要安装Visual Studio),因此这可能不是一个选项。
  2. 将已编译的二进制文件检查为源代码管理。您可以将这些已编译的二进制文件与主源分支分开,以保持清洁。将二进制文件部署到目标服务器。
  3. 前两个选项的一些混合也是可能的;您可以使用CruiseControl.NET设置持续集成服务器,该服务器可以检出当前源,构建它,并将生成的二进制文件检回特殊分支,然后将该分支部署到目标服务器。