Dependency Injection配置是否应受版本控制?

时间:2012-08-28 12:15:58

标签: version-control dependency-injection

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

  • base.xml是我的默认配置,用作以下基础:
    • dev.xml,其中包含适用于我们当地流浪者开发环境的替代
    • staging.xml,其中包含适用于测试/陈述环境的替代
    • production.xml,其中包含生产服务器的替代

我不完全确定这些文件应该与版本控制一起应用程序代码。所有敏感数据都存储在从CVS中忽略的配置文件中,因此泄露敏感数据不是问题。相反,我不完全确定在我的应用程序运行的每个环境的版本控制下都有一个xml文件是要走的路。

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

我只是偏执狂或者对此事的一般共识是什么?

1 个答案:

答案 0 :(得分:4)

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

我认为控制这些文件符合您的最佳利益,即使它们永远不会改变。