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

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

问题描述:

我有一台Windows 7机器,我在这台机器上同时执行PHP/MySql开发和.NET/C#/ Sql Server编码。由于最近重新安装,我认为这可能是一个理想的时间来尝试保持我的机器清洁一点,而不是安装Apache和IIS等。VirtualBox Ubuntu LAMP堆栈开发,与SVN和CruiseControl/phpUnderControl?

我安装了VirtualBox,以Ubuntu 10.04作为guest OS ,并计划将我的PHP开发从旧的Windows/Apache/MySql平台移到这个虚拟映像上。除此之外,我想将CruiseControl/phpUnderControl添加到我的PHP开发过程中。

到目前为止,我已经安装了带有LAMP堆栈的Ubuntu 10.04,以及用于PHP,MySQL Workbench等的Netbeans,这与我的旧Windows开发设置完全相同,但我现在还安装了SVN和CruiseControl(我还没有安装phpUnderControl,但这是下一步)。我的问题是,我可以使用这个虚拟图像作为我的“本地”开发环境和作为构建服务器,这样我就不需要将我的本机Windows机器与MySql/PHP相关的软件(意味着我可以保持良好和清洁的.NET开发)?

我想我会需要虚拟网络服务器能够同时服务我正在工作的任何给定项目的“本地”开发版本,以及使用cruisecontrol/svn提交构建的分段版本?

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

我想欣赏一些关于设置这个最佳方式的建议。我想要处理的项目之一是非常复杂的,所以我想确保在开始项目之前以正确的方式完成项目,以便我可以通过版本控制,单元测试和持续集成确保项目得到良好维护,我是否应该需要让其他开发人员参与这个项目。

如果你正在寻找保持你的Windows盒清理MySQL/PHP工具,那么我强烈推荐两种虚拟机方法。一个用于LAMP等开发的桌面Linux发行版,用于快速编码/调试周转,以及一个镜像真实服务器安装(添加了svn等)的测试版本。

这给你带来了巨大的好处,既有良好的开发环境,更重要的是有一个测试服务器,它将反映你的代码在现场服务器上的操作。通过这种方式,您可以通过最新的发行版更新(内核,工具等)使开发环境虚拟机保持最新状态,并且可以在构建虚拟机的任何应用程序版本位于实时计算机上。这需要大量的猜测,“是X库还是我的代码的新版本?”。

如果你想稍微矫枉过正,你实际上会想要3.一个用于开发,一个用于SVN /持续集成,另一个完全镜像服务器,以便测试部署/系统配置。

+0

我确实考虑过多盒子的方法,但不确定是否有3个实例同时运行是过度杀毒,但是您已经说服了我的好处。 – 2010-09-09 07:02:18

如果您正在考虑让您的VM用于开发,为什么不按照您设置分段/生产环境的方式进行设置?

此外,您可以设置虚拟机来托管代码存储库和Web服务器,然后连接您的主机(Windows)本地工具。这样你可以在你的Windows机器上开发,连接到虚拟机。

这使您能够在虚拟机中模拟服务器环境的同时,在本地环境中执行所有操作。

VirtualBox确实可以实现网络连接,您应该能够使Windows主机通过网络连接到服务器,就好像它真的是网络上的另一个节点一样。

+0

是的,我留下了深刻的印象:在网络上获得工作的虚拟机是多么容易 - 我为我设置的虚拟机设置了一个固定的IP,所以我可以从我的本机访问它机器,我没有理由不能用相同的方法设置多个虚拟机。我想我会采用3机方法,一个用于开发,一个用作SVN/CI构建服务器,另一个用于镜像实时环境。 – 2010-09-09 07:04:40

+0

你会推荐哪些虚拟机工具用于开发? – BrightIntelDusk 2014-03-19 00:16:44