php - 如何有效地管理一个 Web 应用程序的多个安装?

标签 php web-applications module release-management

根据我的经验,我们在网络开发过程中遇到的一个更大的问题是在不同的服务器上保持不同的设置更新和安全。

我的公司有自己的 CMS,目前安装在 100 多台服务器上。目前,我们使用基于 FTP 的 hack-ish 方法,结合特定位置的升级脚本来升级我们所有的 CMS 设置。当涉及多个自定义模块时,有效管理这些设置变得越来越困难和冒险。

  • 保持网络应用程序的多个设置安全和最新的最佳方法是什么?
  • 是怎么做到的?
  • 是否有任何关于应用程序模块化的具体提示,以便保持对我们客户的灵 active ,但仍然能够有效地管理应用程序的多个“分支”?

一些上下文信息:我们主要在 LAMP 堆栈上开发。帮助我们销售 CMS 的主要因素之一是我们可以插入客户想要的几乎任何东西。这可以是 10 到 10.000 行自定义代码。

很多定制工作都由非常小的代码片段组成;在 Subversion 中管理所有这些小代码片段对我来说似乎非常乏味且效率低下(因为我们每周交付大约 2 个网站,这将导致很多分支)。

如果我忽略了什么,我很乐意听取您的意见。

提前致谢。


综述:首先,感谢您的所有回答。所有这些都非常有帮助。

我很可能会使用基于 SVN 的方法,这使得 benlumley最接近我将使用的解决方案。由于这个问题的答案在其他用例中可能会有所不同,所以我会在运行结束时接受得票最多的答案。

请检查答案并为您认为最具附加值的答案投票。

最佳答案

我认为使用版本控制系统并“分支”您必须修改的代码部分可能是在稳健性和效率方面的最佳方法。

分布式版本系统可能最适合您的需求,因为它允许您在不同的“分支”上无缝更新您的“核心”功能,同时在需要时保留一些本地更改。

编辑:我很确定,使用分布式版本系统使所有内容保持最新状态远没有您所期望的那么乏味:您可以保留您确定的更改永远不需要本地其他地方,分布式方面意味着您部署的每个应用程序实际上都独立于其他应用程序,只有您打算传播的修复才会传播。

关于php - 如何有效地管理一个 Web 应用程序的多个安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/502774/

相关文章:

c - 将 upvalue 传递给 C 中的 Lua 5.2 模块

javascript - 如何使用 jquery 更改 View 中显示的 html 内容 - codeigniter

linux - 正确导出 Linux 头文件、模块

php - xampp mysql 用户只能在没有密码的情况下工作

jquery - jQuery 是否鼓励懒惰和无组织的 UI 设计?

java - log4j级别跟踪和调试没有显示任何日志

http - 物理分离安全和非安全 Web 请求

python - 如何找到在 Python 中导入函数的位置?

PHP 日期之间的比较

javascript - jQuery AJAX - 当加载方法失败时重定向到 404 页面