【问题标题】:Use external configuration in Rails [closed]在 Rails 中使用外部配置
【发布时间】:2014-10-30 09:36:09
【问题描述】:

是否有一些库或工具允许使用外部文件配置 Rails 应用程序?

我希望数据库配置(默认在 config/database.yml 中)和应用程序配置(在 config/environments/*.rb 中的特定环境文件中配置)在文件中(最好是 yaml)不包含项目。

我知道这不是标准的做事方式,但有一些好处:

  • 文件可以存在于版本控制中的单独存储库中
  • 您可以对此存储库进行不同的访问控制(您可以隐藏生产配置)
  • 配置文件可以单独部署
  • 可以在机器上手动更改,重新部署应用时不会被覆盖
  • 您不必为每个部署环境使用不同的 rails 环境,但可以在特定机器上进行更改。
  • 您可以在应用程序之间共享配置

更好的解决方案是进行部分外部配置 - 这样您仍然可以在应用程序中进行基本配置,但覆盖其中的一部分。

如果您在应用程序中复制外部配置文件,则可以这样做。这可以在加载 rails 之前在 config/application.rb 的开头完成,但它看起来像一个 hack,并且难以维护。是否有一些实用的解决方案可以实现这一点?

【问题讨论】:

标签: ruby-on-rails ruby configuration


【解决方案1】:

Dotenv 非常出色,完全符合您的要求。这是非常常见的一种很好的方式来保护共享文件的秘密。将它与 env_bang-rails 结合使用以获得一些额外的好处(默认值、未定义的失败等)

https://github.com/bkeepers/dotenv

https://github.com/jcamenisch/ENV_BANG/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2015-11-27
    • 2016-08-19
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2022-12-31
    相关资源
    最近更新 更多