4

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

我现在想使用 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 可以实现什么。

向正确方向轻推一两次将不胜感激!

4

2 回答 2

8

不要从 VS 发布到 azure,而是将您的 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 的竞争对手。

于 2012-12-30T02:03:59.293 回答
1

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

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