如何有效地成为单人开发者?

时间:2016-09-30 03:44:01

标签: installation development-environment production-environment production dev-to-production

我是一个单人秀,在过去一年半的时间里开发并开发了一种新的定制CRM,以满足我们的业务需求。我有幸与25年以上的经验丰富的开发人员协商。

由于预算限制,我暂时无法获得他的帮助(暂时)并且没有准备实时部署的经验。 (现在什么都没有)

我目前正在设置一个生产服务器(令人难以忍受),并且已经能够启动并运行,目前正在迁移数据,设置OPcache等等。

他提到的一件事就是:

  • 本地主持人(我工作的地方)
  • 开发服务器(我部署并测试我的更改)
  • 生产服务器(我也推送实时更改)

问题1)现在,我有Dev Server和生产服务器。根据您的经验,是'本地主机 - >开发者服务器' 过程对于单人秀来说真的很必要吗?为什么不简单地完成我的工作并在开发服务器中测试我的更改?请向我提供一些常见做法的例子。

问题2)在将更改部署到生产服务器时,根据您的经验,有哪些常见方法可以做到这一点?

问题3)关于问题2,当我遇到直接问题时会发生什么情况我需要应用热修复'太?

问题4) 最后,根据您的经验,有哪些常用方法可以跟踪版本?我正在考虑使用GitHub。

1 个答案:

答案 0 :(得分:0)

我将假设三个环境:

Development --> Test ---> Production

您在开发中编写代码,将该代码迁移到Test(测试迁移过程您的新增强功能/错误修复),并且一旦确认,就将该代码迁移到生产中。

问题1)始终需要测试您的代码。您要做的最后一件事是将未经测试的代码推送到生产中 - 您的客户的业务依赖于此系统,推送未经测试的代码是破坏该业务的好方法。

您可能会将应用程序测试与集成测试混淆。使用“one man show”可能没有集成测试,但您仍需要测试代码和部署过程。测试环境对于让用户尝试增强/修复错误以确保满足他们的需求也很有用。

问题2)它表示您正在部署PHP应用程序。你可以阅读this question来获得一些想法,但它已经过时了。总的来说,这成为一个非常主观的问题,有许多不同的工具和意见; StackExchange不是辩论的场所。

问题3)您使用源代码控制,允许您创建代码树的多个副本,必要时为每个“热修复”或“增强”创建一个副本。完成热修复,测试并成功迁移到生产环境后,您可以删除修补程序目录树。

问题4)同样,您使用源代码控制。您可以使用GitHub在本地运行Git,也可以选择Mercurial,Subversion或其他。 SCM的选择是有争议的(而不是StackExchange的适当主题),但使用源代码控制解决了版本控制要求。