我使用git deploy在Heroku上托管我的Spring启动应用程序。我有一个公共git存储库,并已将我的application.properties文件添加到.gitignore,因为它包含敏感的详细信息,如api密钥和数据库凭据。
处理这种情况的最佳方法是什么,我能将自己的单个application.properties文件直接上传到Heroku吗?我不想使用Heroku配置变量,因为我宁愿保持平台独立。
答案 0 :(得分:7)
我建议您恢复application.properties
文件并将敏感数据移至环境变量(您可以在official
documentation上阅读更多内容)
因此,您的属性文件可能如下所示:
datasource.username = ${DB_USER_NAME}
datasource.password = ${DB_USER_PASSWORD}
此外,您可以通过多个配置文件(例如dev
,test
或prod
拆分您的配置,以避免在开发或测试您的应用程序时设置这些变量(您可以阅读更多关于它here)。
然后,您可以在h2
配置文件中使用例如dev
内存数据库,在生产中使用另一个数据库。
然后,您的application-dev.properties
将会显示:
datasource.username = sa
datasource.password = not_so_secret_password
而且,application-prod.properties
:
datasource.username = ${DB_USER_NAME}
datasource.password = ${DB_USER_PASSWORD}