我工作的公司似乎总是在努力应对客户的服务器环境.
具体来说,我们几乎总是遇到测试服务器和生产服务器的问题,以及它们似乎总是以不同方式配置的事实.当我们测试我们开发的应用程序时,测试服务器以一种方式运行,因此我们调整和配置我们的应用程序以适应该特定行为.但是当我们在生产服务器上安装相同的应用程序时,我们会发现另一种与测试服务器不一致的行为,从而导致我们的调整和配置无效.最令人沮丧的是,这种情况一直在发生,似乎没有人知道如何处理它.
当然,我们大致了解为什么会发生这种情况.每个克隆环境都是以相同的方式开始,并且在前几天工作相同,但迟早有人只在一个服务器环境中重新配置某些东西(无论是数据库更新,组件库更新,Web文件更新,或其他配置),从而导致差异.随着时间的推移,越来越多的差异逐渐增大.但问题是:我们能做些什么呢?
我试过在网上搜索但是找不到任何关于该做什么的好答案.我也试图自己找出一些解决方案,但我的大部分想法在某些方面似乎都有问题.无论多么严谨,都可以规避新的惯例.定期克隆生产服务器以创建测试服务器是一个繁琐且通常非常缓慢的过程.自动复制并不总是可靠的甚至是可能的.那么我们应该对这个问题做些什么呢?我们如何保证测试时的体验与上线时的体验相匹配?
我想其他人也有这个问题.或者他们呢?也许只是我的特定公司不称职?有没有人遇到过这个问题?如果是这样,你做了什么?
此致
Linus,瑞典系统开发人员
您需要开始跟踪对测试环境所做的每个更改,并提供将其传播到生产环境的方法.
对于代码,这意味着版本系统,如CVS,Subversion或GIT.
对于数据库,它表示结构比较工具或部署更新生产数据库的脚本.
对于配置,两个系统应该完全相同,并且任何"调整"或更改需要首先应用于测试服务器,然后在部署期间应用于生产服务器.
在你有一个有效的过程之前,你将继续遇到问题.