多个 Rails 应用程序的单独资源存储库



使用 Rails 3 和 Ruby 2。我有以下应用程序:

  1. 应用 A
  2. 应用 B

现在,应用 A 和应用 B 通过 API 相互通信。这就是 SOA。随着应用程序变得越来越大,我发现应用程序具有可以在应用程序中重复使用的CSS和Javascript。我想将资产(CSS、JS)分离到不同的存储库(例如 C.app以便应用程序 A 和 B 可以使用相同的资产存储库。

以下是我的问题:

  1. 对于部署,应用 C 应预编译和缩小,应用 A 和 B 应指向该存储库。有哪些选择?
  2. 对于开发,应用程序 C 不应该缩小,但应用程序 A 和 B 应该如何不断与应用程序 C 通信以获取应用程序 C 中 CSS/JS 的所有更改?

我通过谷歌搜索过,但没有得到太多结果。也许我的关键词是错误的。请随意命名用于此实践的术语/约定。

如果有其他更好的做法,也请随时提出建议。

最简单的选择可能是使用git submodule在两个项目/应用程序之间共享资源文件本身。

另一种选择是创建您自己的 Gem,其中包含这些资源文件,并在您的两个项目中使用该 Gem。这将需要预先做更多的工作,但更容易管理版本(git 子模块需要更多的手动步骤来在更改子模块存储库时保持更新)。

最新更新