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