我在一家小型初创公司工作,我们的预算很紧,但我们确实有一个。目前,所有开发人员都使用单独的虚拟主机在单个服务器上工作。这是有问题的,因为每个人都需要自己的命令行脚本的 php 包含路径,但这对于虚拟主机是不可行的……我知道理想情况下每个开发人员都会有自己的盒子,但预算不允许这样做。Staging & Production 有自己的服务器和专用的包含路径。确保开发尽可能接近分期/生产的好方法是什么?有没有可以提供某种生产虚拟机克隆的托管公司?我们应该使用其他策略吗?
我们目前正在运行 CentOS、MySQL 5.1.x、Apache 2.x、PHP 5.1.x
如果您有一些预算,为什么不购买一台机器作为 Xen 服务器运行并为开发人员提供可以玩的虚拟机呢?这些虚拟机都可以来自同一个映像,并且具有与您的测试和生产设备相同的软件设置。
您实际上可以在办公室购买专用或安装一个(成本不再高),安装 centos 和openVZ(这是 Parallels Virtuozzo Containers 的开源版本)。
创建一个容器(这是一个虚拟专用服务器)并安装,根据需要调整专用服务器,一旦完成,您可以将其关闭并将其包装为模板。
完成后,您可以使用该模板在几秒钟内启动多个私有服务器,这样您就可以为您的开发人员提供他们的开发/登台/生产环境的身份服务器。
谢谢,
你不在本地开发吗?为什么不让开发人员使用他们的本地机器进行开发,然后在部署前进行登台测试。我知道这不是确切的环境,但在我的商店里效果很好。
您实际上可以为不同的虚拟主机设置单独的路径,但我肯定会走虚拟机路线(我们使用标准化的 KVM 映像在人们的工作站上运行),到处都有配置管理(例如 Puppet)以确保事情保持同步。
我几乎想知道在stackoverflow上是否会更好地问这个问题。
我首选的方法通常是使用脚本/程序自动创建开发/登台/生产环境。然后,在您拥有一个可以自动设置关键细节的系统之后,然后偶尔清除所有内容,并迫使开发人员处理一个干净的环境。如果您已正确完成备份,并且他们正在提交 VCS 并且您的安装脚本是完美的,那么他们应该永远不会有任何问题。
使用虚拟机是理想的,但根据您的开发可能不需要。
您提到命令行脚本中的 php 包含路径有问题?为什么不简单地使用 php cli 选项--php-ini选项来指定一个配置文件,该配置文件针对每个环境/开发人员进行个性化设置,并根据需要设置其包含路径?