【发布时间】:2011-06-28 10:55:33
【问题描述】:
构建的一个选项是在构建时打包特定于环境的属性(例如使用 maven 配置文件)
另一个选项是在您的生产环境中设置-Denv=production,并在启动时加载/${env}/config.properties。 (例如 spring 允许这样做,但可以手动完成)
我都用过。前者意味着无需额外的环境配置。后者允许在多个环境中使用相同的构建。
问题:任何其他重要的优点/缺点,或者选择哪种方法几乎相同?
相关:Load environment-specific properties for use with PropertyPlaceholderConfigurer?
【问题讨论】:
-
我标记了 java,因为我上面的例子是基于 java 的。但也欢迎与语言无关的答案。
-
这里我们别无选择:我们不能在 PROD 中放入未在 PREPROD 中接受的 .war。这必须是完全相同的.war。我们基本上使用“选项 3”,即“matt b”正在使用的选项。顺便说一句,我们无权访问生产环境的凭据:所以我们的 .war 知道在哪里可以找到配置文件,但我们开发人员不应该这样做。
标签: java deployment build