0

我正在寻找有关如何管理本土 php/mysql 应用程序的升级过程本身的输入。意思是,如果我们的生产服务器上有一个“稳定”版本的 php/mysql 应用程序,我们现在想将它升级到我们正在开发的下一个版本 - 我们如何优雅地做到这一点?我应该实施哪些实践?

我打算做的只是

  1. 要求开发人员在完成所有稳定性/功能测试后停止签入代码

  2. 使应用程序脱机***(问:我应该如何防止 ppl 登录/访问公共页面?最佳实践?)但允许通过秘密登录页面/url 访问开发人员

  3. 登录生产服务器并在本地查看最新版本***
  4. 让开发人员/测试人员通过秘密访问页面/网址测试​​他们的代码***
  5. 完成后,我们通过删除此秘密访问页面/url、删除站点维护页面并恢复对所有人的访问来恢复对所有人的访问。

***注意:执行此操作的一种简单方法是将 /myapp/ 重命名为 /myapp.old/ 并将新的应用程序版本放入 /myapp.new/ 开发人员将访问 /myapp.new/,测试到他们满意并然后在我们完成后,我们会将其重命名为 /myapp/ (这只是基本想法)

4

2 回答 2

2

这是一个很大的问题,在很多方面它取决于你的具体项目。但这里有一些需要考虑的做法:

  1. 在您的代码中添加大量注释。现在看起来完全合乎逻辑的事情会在你在一两年后回去进行更改时感到困惑。

  2. 使用自己的数据库维护站点的开发版本。您可以在发布到生产站点之前测试对站点的更改。

  3. 使用 PHP 框架(例如 CakePHP、CodeIgniter 等)。如果您的项目进展顺利,这可能很难做到。但它将帮助您以易于更新的方式编写代码,并且将包含许多您不必从头开始编写的稳定、成熟的功能。使用这些框架之一(并遵循其最佳实践)可能是初学者学习思考编写易于更新的模块化代码的最佳方式。这也将鼓励您以与您的网站结构一致的方式开发您的数据库。

  4. 编写测试(框架应该可以帮助您)以编程方式检查您的代码是否存在错误。

  5. 使用版本控制系统,例如 Subversion 或 Git。这使您可以跟踪对站点的更改,并在/当您意识到它们有问题时轻松回滚更改。

于 2010-08-18T14:51:41.820 回答
0

全面的单元测试覆盖将非常有帮助,小型、高内聚、低耦合的类也是如此。除了单元测试之外,集成级别的良好覆盖也很有价值。

于 2010-08-18T15:02:20.143 回答