我是一个单人秀,在过去一年半的时间里开发并开发了一种新的定制CRM,以满足我们的业务需求。我有幸与25年以上的经验丰富的开发人员协商。
由于预算限制,我暂时无法获得他的帮助(暂时)并且没有准备实时部署的经验。 (现在什么都没有)
我目前正在设置一个生产服务器(令人难以忍受),并且已经能够启动并运行,目前正在迁移数据,设置OPcache等等。
他提到的一件事就是:
问题1)现在,我有Dev Server和生产服务器。根据您的经验,是'本地主机 - >开发者服务器' 过程对于单人秀来说真的很必要吗?为什么不简单地完成我的工作并在开发服务器中测试我的更改?请向我提供一些常见做法的例子。
问题2)在将更改部署到生产服务器时,根据您的经验,有哪些常见方法可以做到这一点?
问题3)关于问题2,当我遇到直接问题时会发生什么情况我需要应用热修复'太?
问题4) 最后,根据您的经验,有哪些常用方法可以跟踪版本?我正在考虑使用GitHub。
答案 0 :(得分:0)
我将假设三个环境:
Development --> Test ---> Production
您在开发中编写代码,将该代码迁移到Test(测试迁移过程和您的新增强功能/错误修复),并且一旦确认,就将该代码迁移到生产中。
问题1)始终需要测试您的代码。您要做的最后一件事是将未经测试的代码推送到生产中 - 您的客户的业务依赖于此系统,推送未经测试的代码是破坏该业务的好方法。
您可能会将应用程序测试与集成测试混淆。使用“one man show”可能没有集成测试,但您仍需要测试代码和部署过程。测试环境对于让用户尝试增强/修复错误以确保满足他们的需求也很有用。
问题2)它表示您正在部署PHP应用程序。你可以阅读this question来获得一些想法,但它已经过时了。总的来说,这成为一个非常主观的问题,有许多不同的工具和意见; StackExchange不是辩论的场所。
问题3)您使用源代码控制,允许您创建代码树的多个副本,必要时为每个“热修复”或“增强”创建一个副本。完成热修复,测试并成功迁移到生产环境后,您可以删除修补程序目录树。
问题4)同样,您使用源代码控制。您可以使用GitHub在本地运行Git,也可以选择Mercurial,Subversion或其他。 SCM的选择是有争议的(而不是StackExchange的适当主题),但使用源代码控制解决了版本控制要求。