【问题标题】:Local application.conf with Play 1.2.5?Play 1.2.5 的本地 application.conf?
【发布时间】:2013-01-14 04:07:14
【问题描述】:

是否可以在 Play 1.2.5 中使用本地 application.conf?我们的问题是不同的开发者有一些不同的设置,我们不想保存到版本控制中。

找到替代品:

  • 只是修改application.conf
    • 必须小心不要向 VCS 提交更改
  • 环境:每个开发人员都有自己的环境:%john、%mary(保存到 VCS)
    • 好的替代方案,即使我们不想将它们保存到版本控制中
    • 我们确实会在开发过程中不时更改这些内容 -> 会导致不必要的更改
  • @include : 附加配置文件的 application.conf 选项

还有什么?

特别是,有没有办法告诉 Play 使用自定义文件名(如“conf/application.conf.local”而不是默认的“conf/application.conf”?

【问题讨论】:

  • AFAIK 环境方法在 Play 1 中只有一种可能。在 Play 2 中,可以定义替代配置文件(甚至是远程)

标签: configuration local playframework-1.x


【解决方案1】:

我看过剧本! 1.2.5的源代码,但找不到任何提示Play!将能够获取文件 conf/application.conf 以外的任何内容。

【讨论】:

  • 查看play.Play#readOneConfigurationFile,有一个递归逻辑可以包含键以@include.开头的属性的其他配置。
【解决方案2】:

我刚刚遇到了 Play 1.x 模块 externalconfig,这可能会有所帮助。似乎为我们的目的工作。另外,这有助于将生产密码等远离 VCS。

请注意,此模块仅适用于 Play 的 Java 代码 - 在 Python 中实现的 Play 模块(例如 migrate)不会知道外部配置。其他依赖 onConfigurationRead() 的 Java 模块也可能存在问题。

【讨论】:

    【解决方案3】:

    @include 为我们的设置工作,我们在 play 1.2.5 上导入不同的环境配置。

    如果您的团队很小,请让每个开发人员检查他们自己的配置,每个配置都有自己的前缀用户密钥:

    %[user-key].[property]=[value]
    

    然后每个开发人员都必须更改启动游戏

    play run --%[user-key] 而不是简单的play run

    【讨论】:

    • 使用这个,如果每个开发人员在他们的沙箱中运行play idplay run 会直接工作吗?
    • 只要您在 application.conf 中设置了合理的默认值,它就可以工作。
    【解决方案4】:

    你可以追加:

    %my_play_id.@include.application.conf=my_application.conf
    

    在 application.conf 的末尾。每个开发人员或环境一行。您可以覆盖 my_application.conf 中的某些属性,并且不需要将 %my_play_id 附加到已更改的属性中。例如,如果您有三个开发人员:

    %developer1.@include.application.conf=developer1_conf.conf
    %developer2.@include.application.conf=developer2_conf.conf
    %developer3.@include.application.conf=developer3_conf.conf
    

    【讨论】:

      【解决方案5】:

      我们所做的是为具有推荐配置的 VCS 创建一个 application.template 配置(而不是实际的 application.conf)。

      这样每个开发人员都有责任创建自己的 application.conf 并改进 VCS 中的模板。

      这样一来,部署配置和其他开发人员的配置就不会被任何人弄乱了。

      如果您想对部署配置进行版本控制,只需将其添加到您的 VCS 的标记版本中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多