多个本地化环境

时间:2012-03-25 20:37:23

标签: java design-patterns maven configuration jenkins

我正在处理的当前应用程序的构建过程。目前,要构建应用程序,将根据要使用的环境(多个属性文件中的环境类型和国家/地区的组合)组装配置文件。

为了更好地解释一下,有一个像这样的文件夹层次结构:

|--DEFAULT
   |-- UK
   |-- Malaysia
   |-- India
|--PROD
   |-- UK
   |-- Malaysia
   |-- India
|--DEV
   |-- UK
   |-- Malaysia
   |-- India

每个文件夹中的位置都有属性文件,这些属性文件根据所选组合进行合并和覆盖。 (所以Prod /文件会覆盖默认/文件,而Prod / UK会覆盖Default / UK,因为每个域和每个国家都有特定的属性)

对于应用程序,特别是网站来说,我认为这是很常见的情况,其中大部分代码都很常见,但本地化配置会更改某些功能(例如付款方式),但我仍然找不到任何最佳做法或构建改进提示/简化过程。有人有什么建议吗?

该应用程序是用Java构建的,Maven和Jenkins用于依赖和CI管理。

1 个答案:

答案 0 :(得分:1)

由于你使用Jenkins,你应该考虑使用Matrix(多配置)构建。你可能有两个轴:一个是环境类型,另一个是国家。这种方法的好处是它会强制(或至少轻推)您分解配置之间的共性,以及基于轴值以类似的方式处理它们之间的差异。它还将减少未来的变化点数量。

在我看来,这种方法最严重的缺点是,Matrix Build在Jenkins中还不是“一等公民”,因为很多插件都不能很好地处理它们,导致错误或缺乏功能可用于常规构建。另一个缺点是Matrix Builds起初有点令人困惑,需要习惯。

相关问题