php - VirtualBox Ubuntu LAMP 堆栈开发,使用 SVN 和 CruiseControl/phpUnderControl?

标签 php svn apache virtualbox cruisecontrol

我有一台 Windows 7 机器,我在上面进行 PHP/MySql Dev 和 .NET/C#/Sql Server 编码。由于最近重新安装,我认为现在可能是尝试让我的机器更干净一点而不是同时安装 Apache 和 IIS 等的理想时机。

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

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

我的问题是,我能否将这个虚拟镜像同时用作我的“本地”开发环境和构建服务器,这样我就不需要用 MySql/PHP 相关软件弄乱我的 native Windows 机器(这意味着我可以为 .NET 开发保持整洁美观)?

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

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

如果您能就最佳设置方式提供一些建议,我将不胜感激。我想从事的项目之一非常复杂,所以我想确保在开始项目之前以正确的方式完成它,这样我就可以确保项目通过版本控制、单元测试和持续集成得到很好的维护,我是否需要让其他开发人员参与该项目。

最佳答案

如果您希望让您的 Windows 机器远离 MySQL/PHP 工具,那么我强烈推荐这两种 VM 方法。一种用于开发的桌面 Linux 发行版,其中包含 LAMP 等,用于快速代码/调试周转,另一种用于镜像您的真实服务器安装(添加 svn 等)以用于您的测试构建。

这为您带来了巨大的好处,既可以拥有良好的开发环境,更重要的是拥有可以反射(reflect)您的代码在实时服务器上运行的测试服务器。通过这种方式,您可以使您的开发环境 VM 与发行版(内核、工具等)的最新更新保持同步,并将构建 VM 保持在实时机器上的任何应用程序版本。这消除了很多猜测“它是新版本的库 X 还是我的代码?”。

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

关于php - VirtualBox Ubuntu LAMP 堆栈开发,使用 SVN 和 CruiseControl/phpUnderControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672539/

相关文章:

php - codeigniter 文件未上传到远程服务器

php - JSON.parse 使用 php 的 json_encode 方法产生语法错误

python - Django 中的默认重定向 url

php - 配置 Apache 时出现 "Specified procedure could not be found"错误

PHP/MySQL 插入

svn - 什么会导致 SVN Update 合并错误?

svn - 从 SVN 迁移到 Perforce——提示?经验?

asp.net - 如何使用SVN部署ASP.NET网站?

php - 在 PHP5 ubuntu 中自动加载扩展

javascript - Divs/spans 作为输入类型,带有 $_POST 信息,其中哪一个被单击