从开发到实时服务器上载一些特定功能但不是所有开发的功能

Sha*_*ngh 6 php deployment project-management

这或多或少与项目管理以及每个开发人员有关.当你在开发网站上开发了许多功能并且所有功能都经过客户端测试并准备好上线时,你们如何处理这种情况.

这些功能在常见文件中有一些代码,即.一个PHP文件包含一个功能的代码以及另一个功能.

但客户端会要求您仅上传10个或15个中的2个功能.如果您直接上传该文件会导致错误问题,因为它们具有其他功能的代码,因此文件很常见.如果您上传所有更新的文件,则所有功能都将生效.

一种可能的方法是返回并注释掉目前从普通文件中不需要的功能.但是忘记在其他地方发表评论是可能的.

这也不是一个好方法,最后客户端会说明在开发服务器上测试的所有内容以及为什么在实时服务器上引入了这些错误和错误.这将降低对开发人员的信心.

我多次遇到这个问题,找不到任何避免这些问题的好办法.所以我想你们也面临或面临这个问题.

我认为版本控制系统可以在这里提供帮助.

你们是怎么处理这个的?

你能分享想法吗?

Phi*_*ach 10

你所描述的情况是不可能妥善管理的.我不相信这种情况可行,但真正的问题是你为什么要这样做?

您描述的方案存在许多问题,但核心问题确实如此.您正在测试一件事,并部署另一件事.您在问题中承认变更的相互关联性.实际上,它比你描述的更难.当您尝试部署测试解决方案的某些部分时,您根本无法知道系统的行为方式.为什么要测试呢?

我能看到的唯一明智的解决方案是拥有一个沙箱环​​境,展示新功能.但是,请保持您的测试环境仅用于测试将要上线的内容.因此,在您的示例中,一个或两个功能正在测试中,准备好为prod注销,其他功能将锁定在沙箱中.

这导致了下一个问题,即管理源代码.我没有看到任何理智的策略来管理代码库中的功能包含.即使在我所知道的最灵活的系统Perforce中,任何分支机构都需要在合并时做出可怕的解决,因为你试图移动和移出东西.

我已经看到这种情况发生了,相信我会变得非常难看.

我建议你想出一个更好的解决方案.与您的客户交谈并改变工作方式.对你来说会更好,从长远来看对他们来说更好.

  • +1来自公司的糟糕计划或来自客户的错误请求(可能是后者;-)) (2认同)