依赖项注入配置是否应处于版本控制之下



我目前有四个XML文件,用于根据我的应用程序运行的环境构建依赖注入容器。

  • base.xml是我的默认配置,用作以下各项的基础:
    • dev.xml,包含适用于我们当地流浪者发展环境的覆盖
    • staging.xml,包含适用于测试/声明环境的覆盖
    • production.xml,包含生产服务器的覆盖

我不完全确定这些文件是否应该与应用程序代码一起处于版本控制之下。所有敏感数据都存储在一个配置文件中,该文件在CVS中被忽略,因此泄露敏感数据不是问题。更确切地说,我并不完全确定为我的应用程序运行的每个环境都有一个受版本控制的xml文件是可行的。

例如,我们正在考虑将暂存和测试服务器拆分为,这意味着需要为新服务器创建一个额外的.xml配置文件。如果我们将来想在不同的系统(操作系统、网络服务器、数据库等)上进行测试,这可能意味着我们应该为每个将要测试的系统创建一个.xml文件。

我只是偏执,还是在这个问题上的普遍共识是什么?

我不明白为什么不将不同环境的配置文件置于源代码管理之下。我认为将配置文件保持在源代码管理中通常是一种很好的做法,这样您就不会依赖于驻留在某人系统或网络共享驱动器上的文件。此外,如果你需要恢复到旧版本,或者在突然一切中断时检查某个东西的历史记录,那么拥有源代码管理历史记录是你可靠的朋友。

我认为对这些文件进行源代码管理最符合您的利益,即使它们从未更改。

最新更新