使用虚拟机进行开发

时间:2011-02-06 10:49:10

标签: database version-control virtual-machine

我最近被赋予了管理或开发环境的角色,其中包括:

  • 管理版本控制系统(颠覆),我们通常有一个主要分支,每6个月发布一次,一个维护分支,每2个月发布一次,用于修复用户发现的非主要漏洞和几个与错误相关的分支,它们无法等待维护版本。
  • 管理我们的数据库,以便我们为代码的每个分支都有一个开发数据库

我们不久就转向使用版本控制系统并遇到以下问题:

  • 同时在多个分支上工作的开发人员最终可能会针对错误的数据库进行开发(我们有大约15个开发人员)
  • 缺乏合适的策略来管理分支机构的生产和传播回其他分支机构
  • 缺乏管理与每个分支相关的数据库的合适策略(即我们应该保留一个与生产环境一致的脚本,然后是一个脚本,以使每个数据库用户符合分支的需要)< / LI>

我曾想过为代码的每个分支使用虚拟机(即包含Oracle Express数据库用户的VM,具有数据源等正确设置的Coldfusion Administrator,以及IDE和Tortoise等开发工具) 。

我正在寻找任何人可能需要帮助解决任何这些问题的建议,因为我发现很难管理这个过程。我知道没有2家公司有完全相同的设置,但我欢迎任何帮助。

2 个答案:

答案 0 :(得分:1)

我认为最适合您的解决方案是开始使用应用于产品生命周期策略的持续集成。 您可以通过网络阅读:

我希望这会对你有所帮助,但你的问题很难回答'因为有很多参数需要回答,这些参数总是非常公司,你应该考虑聘请顾问来帮助你。他/她必须来到贵公司并帮助您决定和实施。

答案 1 :(得分:0)

我首先要问每个开发人员为什么会发生这种错误。如果开发人员最近犯了错误,那么请让他们解释他们是如何做到的,以及将来可能对他们有什么帮助。还要与最近没有犯过错误的开发人员交谈。

我假设您有一台带有Oracle的服务器,并且使用不同的端口号在其上运行所有不同版本的db。在这种情况下,您将创建一个新的数据库实例以与每个分支一起使用,问题是如何帮助开发人员在处理分支之前设置上下文。

Tortoise SVN是一个不错的工具,但也许这种情况下,最好有一些小型应用程序进行结账,并从机器中删除Tortoise。小应用程序可以在屏幕上显示一个窗口,显示当前活动的分支,它可以处理结账和签入,以及确保使用正确的端口号。