Maven 处理YAML配置文件和凭据

Maven 处理YAML配置文件和凭据,maven,spring-boot,gradle,jhipster,Maven,Spring Boot,Gradle,Jhipster,对于Spring引导应用程序,部署选择的工件似乎是单个可执行文件,JAR或WAR。在一个例子中,我将自己的加密/解密添加到项目中,这样我就可以在不使用纯文本凭据的情况下签入应用程序配置。如果我用一个配置文件构建了一个部署归档文件,该文件是用空凭据签入的,那么我必须在打包和部署之前填充凭据。或者,如果我选择在配置文件中使用纯文本凭据,我总是忘记删除这些凭据并使用可见凭据继续签入文件 我在这里写我的问题是想看看是否有人对我们如何管理、开发、签入、打包和部署这些方面有什么好的想法,而不必在YAML配置

对于Spring引导应用程序,部署选择的工件似乎是单个可执行文件,JAR或WAR。在一个例子中,我将自己的加密/解密添加到项目中,这样我就可以在不使用纯文本凭据的情况下签入应用程序配置。如果我用一个配置文件构建了一个部署归档文件,该文件是用空凭据签入的,那么我必须在打包和部署之前填充凭据。或者,如果我选择在配置文件中使用纯文本凭据,我总是忘记删除这些凭据并使用可见凭据继续签入文件

我在这里写我的问题是想看看是否有人对我们如何管理、开发、签入、打包和部署这些方面有什么好的想法,而不必在YAML配置文件上跳来跳去

对于JHipster应用程序,我的加密/解密解决方案至少可以保护文件不受纯文本的影响,但任何sharp Java开发人员都可以使用我的加密实用程序来解码我签入的凭据


这里最好的策略是什么?我们能用一些脚本或Maven/Gradle操作轻松地添加Cred吗?我愿意改变任何事情。

对我来说,显而易见的解决方案是将配置外部化,包括本地配置和部署配置。而且,如果我可以在我的git repo中覆盖模板配置(没有creds),我仍然可以在本地和repo中使用配置的模板版本。

您可能应该检查一下。如果您不想提交您的凭据,那么就不要提交和外部化您的配置。例如,您可以创建一个单独的
应用程序.properties
,并将其放在与.JAR/.WAR相同的文件夹中。或者您可以使用环境变量(例如,
SPRING\u DATASOURCE\u USERNAME
)。但是如果你问什么是最好的策略,那么,堆栈溢出的问题就不在讨论范围之内了,因为它会导致固执己见的答案。如果不在这里,你有什么建议可以让我得到固执己见的答案吗?你读过了吗?@DavidWhitehurst不知道。我只知道堆栈溢出不是好去处。相关:。因此,对你的问题提出可能的解决方案是很好的,你可以自己选择最好的解决方案,或者你可以等着看社区对答案的投票结果。