我们正在尝试为spring boot应用程序设置一个持续集成环境。我们使用Jenkins,Gradle和Git。
在application.properties文件(其中几个用于不同的子项目)中,我们有用于数据库和代理访问的硬编码用户名和密码。
我们不希望将这些文件推入带有纯文本密码的git中。另一方面,Jenkins在执行gradle任务时需要这些。
是否有关于如何处理CI环境的这类密码的最佳实践/文档?
先感谢您。
一种选择是使用Jasypt来加密属性。
我在Spring Boot应用程序中使用这个项目取得了成功:https://github.com/ulisesbocchio/jasypt-spring-boot。
您可以使用各种凭据插件来执行此任务。 https://plugins.jenkins.io/credentials
如果您希望多个应用程序使用这些密码,请设置保管库并将保密信息存储在那里。 https://www.vaultproject.io/