![如何确保开发环境=暂存=生产?](https://linux22.com/image/490336/%E5%A6%82%E4%BD%95%E7%A1%AE%E4%BF%9D%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%3D%E6%9A%82%E5%AD%98%3D%E7%94%9F%E4%BA%A7%EF%BC%9F.png)
我在一家小型初创公司工作,我们的预算很紧张,但我们确实有一台。目前,所有开发人员都在使用单独虚拟主机的单个服务器上工作。这很成问题,因为每个人都需要自己的 php 命令行脚本包含路径,但虚拟主机无法做到这一点……我知道理想情况下每个开发人员都有自己的机器,但预算不允许这样做。暂存和生产都有自己的服务器和专用的包含路径。有什么好方法可以确保开发尽可能接近暂存/生产?有没有托管公司可以提供某种虚拟机克隆生产?我们是否应该使用其他策略?
我们目前正在运行 CentOS、MySQL 5.1.x、Apache 2.x、PHP 5.1.x
答案1
如果您有预算,为什么不购买一台机器作为 Xen 服务器运行,并为开发人员提供虚拟机以供他们使用呢?这些虚拟机都可以来自同一映像,并且具有与您的测试和生产机相同的软件设置。
答案2
你实际上可以购买一个专用的或者在你的办公室安装一个(成本不再高),安装 centos 和开放VZ(这是 Parallels Virtuozzo Containers 的开源版本)。
创建一个容器(即虚拟专用服务器)并安装,根据需要调整专用服务器,完成后您可以关闭它并将其包装为模板。
完成后,您可以使用该模板在几秒钟内启动多个私人服务器,这样您就可以为您的开发人员提供身份用于其开发/准备/生产环境的服务器。
谢谢,
答案3
您不是在本地开发吗?为什么不让开发人员使用本地机器进行开发,然后在部署之前进行暂存测试。我知道这不是确切的环境,但在我的商店里运行良好。
答案4
我几乎想知道这个问题是否最好在 stackoverflow 上询问。
我通常倾向于使用脚本/程序来自动创建开发/准备/生产环境。然后,在您拥有一个可以自动设置关键细节的系统之后,偶尔清除所有内容,并迫使开发人员处理干净的环境。如果您已正确完成备份,并且他们正在提交 VCS,并且您的设置脚本是完美的,那么他们应该永远不会遇到任何问题。
使用虚拟机是理想的,但根据您的开发情况可能不需要。
你提到你的 php 包含路径有问题命令行脚本?为什么不直接使用 php cli 选项--php-ini选项来指定针对每个环境/开发人员个性化的配置文件,并根据需要设置其包含路径?