部署您自己的 Rails 应用程序相当简单。但是,我发现尝试将第 3 方 Rails 应用程序置于版本控制和部署之下是相当痛苦的。
假设我想采用现有的 RoR 应用程序(在我的情况下是 Redmine,但这可以适用于任何应用程序,甚至超出 Rails),并将其部署在我的(传统)托管服务器上。我想确保我可以撤消对配置或本地自定义所做的任何更改,但我也希望能够定期升级到最新版本。
Redmine 的公共 git 存储库有一个.gitignore
文件,其中包含配置 yaml 文件和会话存储等内容。这对开发有意义,但对部署肯定没有意义。
看来我有几个选择:
- 在我的官方 repo 副本中取消忽略配置文件,并添加我的自定义、插件等。然后我可以将新版本合并到我的分支并处理冲突。
- 保留官方存储库中没有历史记录的本地存储库。合并新版本将完全是手动的。
- 做一些更复杂的事情。多级分支/存储库?
这些选项对我来说似乎都不是特别优雅或简单,所以到目前为止我采取了简单的路线:什么都不做。
这似乎是一个常见问题,但我找不到任何真正涵盖此问题的博客或问题。您如何处理部署第 3 方 Web 应用程序?