我想通过传递属性文件在 Jenkins 中传递用户名和密码,并在 Java 程序中使用此凭据登录到我的应用程序。
- 在 Jenkins 中注入属性文件
- 在我的 Java 程序中使用该文件中的凭据登录到我的应用程序。
或者,其他方式,我可以将它作为我的詹金斯工作的密码传递参数传递,但我没有办法在我的 java 程序中获取这个密码。
任何帮助,将不胜感激。提前致谢。
我想通过传递属性文件在 Jenkins 中传递用户名和密码,并在 Java 程序中使用此凭据登录到我的应用程序。
或者,其他方式,我可以将它作为我的詹金斯工作的密码传递参数传递,但我没有办法在我的 java 程序中获取这个密码。
任何帮助,将不胜感激。提前致谢。
步骤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
的key,区分大小写。
2. 如果用户名或密码包含空格,请使用双引号
3. 该模式-Dxxx="${yyy}"
可以在两者Execute linux shell
和Execute windows batch
构建步骤上工作。
步骤4) 获取系统属性:Java代码中的用户名和密码
String userName = System.getProperty("UserName")
// the parameter: "UserName" from -Dxxxx, also case sensitive