css - 通过 Rails 管理大型应用程序

标签 css ruby-on-rails git software-product-lines

我们今年在 Rails 3 中开发了一个应用程序(计划升级到 Rails 4)。 我们已将其出售给 2 个客户,现在问题开始了。

除了样式表、一些 html 和一些类之外,所有应用程序的核心都或多或少相同。

现在我正在寻找一种方法来管理这些应用程序,例如当我们有 100 个客户运行该产品时。

因此有以下问题:

  • 您如何管理所有客户的更新?
  • 您如何管理所有客户的修复(对于 2 个客户,我目前只是挑选,但对于 100 个客户,您不能这样做,一些客户代码不同,因此像批量挑选这样的东西并不总是有效)
  • 您如何管理新客户?
  • 是否可以像在 drupal 中那样使用样式表文件将代码与样式分开?
  • 如有任何问题,随时可以添加。

亲切的问候。

EDIT1:我们提供的是一个有核心的网站,但每个客户都可以对网站进行从核心到设计的任何更改。

编辑 2: RAILS 代码:我们有一个 Rails 管理界面,假设我们通过设置使所有代码可定制:

If Settings.value_shown == true
 User.do_something
else
 User.do_something_else
end

CSS/SASS 代码: 假设我们制作了 1 个干净的 CSS,并且我们为每个客户创建了一个覆盖所有标准代码的覆盖类。

EDIT3:假设这 50 个客户中的每个客户都有 3 个分支机构,即 DEV/QUALITY/PRODUCTION 系统。我们为所有客户开发了一个修复程序,您如何将此修复程序部署到所有客户?

最佳答案

把不同客户的代码放到不同的分支是第一个问题。您应该沿着其他轴真正自定义每个客户的代码。例如,您可以为每个客户创建一个单独的目录,或者某种插件架构,其中客户的特殊代码位于单独的元素中。或者您将所有代码集中在一件大事中,并添加一些针对每个客户的配置。

但是针对不同客户的 $N 个不同分支意味着代码的 $N 个副本,您必须手动修补它们。不要那样做。

Google 的一个很好的关键字是“软件产品线”,因为这就是您想要做的:-)

关于css - 通过 Rails 管理大型应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25184295/

相关文章:

git - 在不强制推送的情况下恢复远程分支上的提交

git - 确定 CVS/git 差异

html - 禁用任何 :hover css effects there is when on a different media

c++ - 强制重新计算 Qt 样式表似乎无济于事

ruby-on-rails - 将自定义参数从 View 传递到 form_with

node.js - NodeJS 生产部署最佳实践

html - 为什么图像(在 CSS 中)没有出现在我的 HTML 中?

html - 仅当子菜单包裹在 div 容器中时才更改父菜单的背景颜色

ruby-on-rails - 使用 INNER JOIN 的 Rails ActiveRecord eager_load

ruby-on-rails - 如何在 Ruby 中将以下代码缩减为一行?