2

这是链接12 因素

如果我应该将值存储在我的 app.properties 文件与环境变量中,我会感到困惑。

应用程序属性

Memory_Folder_Test = Test
Memory_Folder_Prod = Production
Memory_Folder_Dev = Development

Strong_threshold = 10
Low_Threshold = 2

Username = FirstUser
Password = PasswordSecret

所以理论上我应该把这些值放在哪里?application.properties 还是作为环境变量?如果我没有读错,那么 12 因子的目的是删除属性文件中的值并将其外部化。

4

3 回答 3

1

您可以将值存储在application.properties文件中,但是,spring 允许您使用环境变量覆盖这些值。因此,它符合 12 因子。

于 2018-08-17T08:48:50.230 回答
0

我更喜欢将环境变量存储在文件中,加密文件并将加密文件检查到 git,通过黑盒:https ://github.com/StackExchange/blackbox

Blackbox 将处理加密/解密,因此很难将未加密的凭据检查到您的存储库中。此外,通过 openpgp 的工作方式,您可以使开发团队能够加密/解密文件。

该项目由 StackExchange(也就是运行这个站点的人)维护。弄清楚 openpgp/gpg(黑盒依赖于哪个)需要一些时间,但这对我来说非常值得。我一直在 linux 和 windows 中使用(通过 windows linux 子系统)。

于 2018-04-18T02:10:41.933 回答
0

您可以使用 spring cloud config 之类的东西在外部存储属性。然后,您使用环境属性来定义从应用程序访问云配置所需的配置(如 url)

于 2017-06-20T16:23:43.523 回答