VirtualBox Ubuntu LAMP堆栈开发,SVN和CruiseControl/phpUnderControl?

And*_*hns 5 php svn apache virtualbox cruisecontrol

我有一台Windows 7机器,我可以在其上执行PHP/MySql Dev和.NET/C#/ Sql Server编码.由于最近重新安装,我认为这可能是尝试让我的机器更清洁而不是安装Apache和IIS等的理想时间.

我安装了VirtualBox,Ubuntu 10.04作为客户操作系统,计划将我的PHP开发从旧的Windows/Apache/MySql平台移动到这个虚拟映像上.除此之外,我想将CruiseControl/phpUnderControl添加到我的PHP开发过程中.

到目前为止,我已经安装了带有LAMP堆栈的Ubuntu 10.04,以及用于PHP的Netbeans,MySQL Workbench等,这实际上与我的旧Windows开发设置相同,但我现在还安装了SVN和CruiseControl(我'尚未安装phpUnderControl,但这是下一步).

我的问题是,我可以将此虚拟映像用作我的"本地"开发环境和构建服务器,这样我就不需要使用MySql/PHP相关软件来混乱我的本机Windows机器(这意味着我可以保持它很好并为.NET开发干净)?

我想我需要虚拟网络服务器能够为我正在处理的任何给定项目提供"本地"开发版本,以及使用cruisecontrol/svn提交构建的暂存版本?

或者我应该将我的开发和构建服务器分开,或者将本地开发保留在Windows中,并仅将虚拟映像用于构建服务器?或者可能有两个单独的虚拟机用于不同的目的?

我很欣赏一些关于设置它的最佳方法的建议.我想要处理的其中一个项目非常复杂,所以我想确保在开始项目之前以正确的方式解决这个问题,这样我就能确保项目得到很好的维护,包括版本控制,单元测试和持续集成,我是否需要让其他开发人员参与该项目.

Mik*_*ike 5

如果您希望保持Windows框清理MySQL/PHP工具,那么我强烈建议使用这两种VM方法.一个用于开发的桌面Linux发行版,其中包含LAMP等,用于快速编码/调试周转,以及一个镜像您的测试版本的实际服务器安装(添加svn等).

这为您提供了一个很好的开发环境,更重要的是拥有一个能够反映实时服务器上代码操作的测试服务器,这将带来巨大的好处.这样,您可以使用最新的分发更新(内核,工具等)使您的开发环境VM保持最新,并将构建VM保存在实时计算机上的任何应用程序版本中.这需要进行大量的猜测,"它是库X的新版本还是我的代码?".

如果你想略微过度,你实际上想要3.一个用于开发,一个用于SVN /持续集成,另一个用于完全镜像服务器,因此您可以测试部署/系统配置.