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

如何使用Git在Azure上部署C#,MVC4应用程序,c#,git,azure,asp.net-mvc-4,visual-studio-2012,C#,Git,Azure,Asp.net Mvc 4,Visual Studio 2012,我正在Visual Studio 2012的.NET上开发一个C#、MVC4、EF5代码首个应用程序,并使用VS发布机制将其部署到一个带有Azure SQL数据库的Azure网站 我现在想使用Git和GitHub进行版本控制,并让其他人参与到项目中 然而,尽管我熟悉在LAMP环境中使用Git,但我没有在Windows、Azure网站和编译环境中使用Git的经验 我想使用Azure网站作为生产服务器,使用另一个Azure网站作为暂存服务器,使用Visual Studio for developme

我正在Visual Studio 2012的.NET上开发一个C#、MVC4、EF5代码首个应用程序,并使用VS发布机制将其部署到一个带有Azure SQL数据库的Azure网站

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

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

我想使用Azure网站作为生产服务器,使用另一个Azure网站作为暂存服务器,使用Visual Studio for development和GitHub作为中央存储库的开发人员Windows机器

这里有一篇有用的文章:。我可以了解这里需要什么,比如说Azure上的PHP应用程序。但我不确定编译应用程序的最佳方法,也不确定使用Azure网站和Visual Studio可以实现什么


在正确的方向上轻推一两下将不胜感激

您基本上引入了一个新步骤,要求在将源代码部署到服务器之前必须编译源代码。在何处实施此步骤取决于您。你可以:

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

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

    观看或阅读

    另外,Soctgu在他的博客上宣布了这一点。他还谈到了出版分支机构的一个很酷的功能,这将满足您对舞台服务器和制作服务器的需求。拥有阶段分支和生产分支,并根据需要合并到它们。请参阅“支持多个分支”一节

    看起来他们终于增加了对私人回购的支持


    appharbor是azure的竞争对手,它也有类似的功能。

    谢谢,这些评论很有帮助。我希望继续使用Azure网站。我想如果我有一个CI服务器,我至少需要一个Azure WebRole来运行像CruiseControl.NET这样的东西?不确定。完整的CI服务器目前对我来说可能有些过分。Azure将为您编译代码-在部署到服务器之前,您不需要这样做。请快速查看这些链接。正是我需要的。。谢谢