我想通过属性文件在 Jenkins 中传递用户名和密码,并在 Java 程序中使用此凭据登录我的应用。
- 在 Jenkins 中注入(inject)属性文件
- 在我的 Java 程序中使用该文件的凭据登录我的应用程序。
或者, 换句话说,我可以将它作为我的 jenkins 作业的密码传递参数传递,但我无法在我的 java 程序中获取此密码。
如有任何帮助,我们将不胜感激。提前致谢。
最佳答案
步骤1)准备一个包含用户名和密码的java属性文件,并与java代码放在一起
username = xxx
password = xxx
步骤 2) 配置 jenkins 作业以从属性文件注入(inject)环境变量
选项 1:检查 Build Environment
部分下的 Inject environment variables to the build process
选项 2:添加一个Inject environment variable
构建步骤并将其移动到其他构建步骤的顶部
对于这两个选项,指定相对于 jenkins 作业工作区的凭证属性文件路径
步骤 3) 在 java cmd 行中指定系统属性:用户名和密码
例如:java -DUserName="${username}"-DPassWord="${password}"
注意:
1. ${xxx}
,属性文件中key的xxx
,区分大小写。
2. 如果用户名或密码包含空格,请使用双引号
3. -Dxxx="${yyy}"
模式可以在Execute linux shell
和Execute windows batch
构建步骤上工作。
第四步获取ssytem属性:Java代码中的用户名和密码
String userName = System.getProperty("UserName")
// the parameter: "UserName" from -Dxxxx, also case sensitive
关于java - 如何在 Jenkins 中注入(inject)属性文件并在 Java 代码中使用它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575994/