为什么在测试服务器上开发很糟糕


Why is it bad to develop on a testserver?

在我们当前的项目中,我们有1个。生产服务器,2。一个测试服务器和3。几个在Windows下使用xampp的开发人员。Prod和Testserver由UNIX运行。

另一位开发人员一再抱怨我们在windows下使用xampp。他说我们应该在测试环境中创建一个用于开发目的的v-server(也许每个开发人员一个v-server,我不太清楚)。对我来说,这感觉大错特错。但我真的无法解释为什么,除了明显的原因,比如你必须连接到远程开发服务器等。

以下是我的操作方法。共有4个阶段。

1) 本地服务器。在这里,您可以处理自己的更改、功能分支等。完成您的工作,确保它在您的机器上工作,然后请求将其拉入开发分支。

2) 开发服务器。这是开发分支中任何内容的复写本,旨在了解您的代码如何a)在实际环境中工作,b)与其他人的代码一起玩。

3) "测试服务器",这是应该进行QA的地方。此服务器上的设置应尽可能接近生产上的设置。并允许您查看所有错误修复、功能和改进,然后解决或报告。

4) 生产。当代码到达这里时,它应该是稳定的,可以使用了。这应该是客户端的"最终产品"(即使您仍在修复错误/进行维护)

如果环境的配置尽可能相似,那么当您在环境之间移动时(从开发到测试),您不太可能感到惊讶。

与在基于Unix/Linux的服务器上运行PHP相比,通过XAMPP在Windows下运行PHP会导致行为上的细微差异。必须处理这些问题会给您的开发增加不必要的开销,并增加错误不能很快被发现的风险。

在办公室中运行虚拟服务器可以让你继续使用Windows桌面,但即使在编写代码时,也可以在生产服务器的准确模拟上运行代码。这也可以简化系统管理员的工作,因为当你需要升级PHP、设置备份等时,他们不必管理大量单独的PC。

至于不便之处,如果你使用"samba"也没什么大不了的——开发服务器上的文件可以作为Windows文件共享访问,所以你可以像在自己的机器上一样继续编辑它们。几乎唯一需要直接(通过SSH)连接到服务器的时间是更改Apache配置并需要重新启动/重新加载守护进程才能使更改生效。

管理专用开发环境的一个好处是可以实现自动构建过程,定期重新部署开发服务器。这增加了在开发周期早期发现不兼容更改的可能性。