遵循 12 因素规则时,我在哪里存储配置



这是链接 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 因素的目的是删除属性文件中的放置值并将其外部化。

您可以将

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

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

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

Blackbox将处理加密/解密,因此很难将未加密的信条签入存储库。 此外,openpgp 的工作方式,您可以让开发团队加密/解密文件。

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

最新更新