-1

我是一个单人秀,在过去一年半的时间里,我开发并开发了一种新的定制 CRM,以满足我们的业务需求。我很高兴向一位拥有 25 年以上经验的开发人员寻求帮助。

由于预算限制,我(暂时)无法再获得他的帮助,也没有准备实时部署的经验。(现在没有直播)

我目前正在设置一个生产服务器(非常痛苦)并且已经能够启动并运行它,并且目前正在迁移数据,设置 OPcache 等等。

他向我提到的一件事是:

  • 本地主机(我工作的地方)
  • 开发服务器(我在其中部署和测试我的更改)
  • 生产服务器(我也在其中推送实时更改)

问题 1)现在,我有开发服务器和生产服务器。根据您的经验,单人秀真的需要“本地主机 -> 开发服务器”流程吗?为什么不简单地做我的工作并在开发服务器中测试我的更改?请提供一些常见做法的例子。

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

问题 3)从问题 2 开始,当我有一个紧迫的问题我也需要应用“热修复”时会发生什么?

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

4

1 回答 1

0

我将假设三种环境:

Development --> Test ---> Production

您在开发中编写代码,将该代码迁移到测试中(以测试您的迁移过程新的增强/错误修复),一旦统计,将该代码迁移到生产中。

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

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

问题 2) 似乎您正在部署一个 PHP 应用程序。您可以阅读此问题以获得一些想法,但它已经过时了。一般来说,这成为一个具有许多不同工具和观点的高度主观的问题;StackExchange 不适合进行此类辩论。

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

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

于 2016-09-30T04:17:45.043 回答