我应该为多个站点使用单个框架代码库,还是为每个站点使用一个代码库?

jan*_*jan 3 oop coldfusion installation frameworks dry

情况如下:

  • 使用特定框架构建多个站点.
  • 所有站点都托管在同一台服务器上.
  • 每个站点都有自己的数据库

由于所有站点都托管在同一个位置,并且它们都具有共同的框架代码,因此我可以在服务器上轻松安装一次框架,并让每个站点使用与其框架代码相同的文件.这样我只有1个框架安装,供所有网站使用.

第二种选择是让每个站点都使用自己的框架安装.

选项1的赞成和反对意见:

  • 只需为多个网站的框架维护1个代码库
  • 框架更新立即适用于所有网站
  • 如果1个站点对框架有不同的需求,或者代码不再与最新的框架版本兼容,则需要自定义框架兼容性补丁.(并不总是有时间或预算来保持遗留项目与最新框架版本兼容)

选项2的赞成和反对意见:

  • 为每个站点保持单独的框架
  • 必须为每个站点单独应用框架更新
  • 如果1个站点有不同的框架需求或者没有预算与最新的框架更新兼容,我们就不会更新该站点的框架安装.
  • 如果确实有必要,站点可以快速修改其框架以满足需求,而不会干扰服务器上的其他站点.

因此选项1似乎更容易维护,而选项2更灵活.我不知道什么是最重要的.两个选项中哪一个是最佳选择?或者还有更多选择吗?

Ada*_*ron 5

我的处理方式略有不同.

我有这样的目录结构:

/sites/
    /site1/
    /site2/
    [etc]
/framework/
    /1.0/
    /1.1/
    /1.x/
    [etc]
Run Code Online (Sandbox Code Playgroud)

然后在每个站点内都有一个/ framework映射,指向该站点正在使用的框架的版本.这样每个站点的框架版本都独立于其他站点:如果一个站点需要不同于其他站点的框架版本(坚持旧版本,在其他站点使用它之前需要新版本),那么您可以控制那种粒度.同样,更改/framwork/nightly/(例如)中的代码库将"自动"更新所有站点,其/ framework映射指向代码库的最新版本.