4

我想通过传递属性文件在 Jenkins 中传递用户名和密码,并在 Java 程序中使用此凭据登录到我的应用程序。

  1. 在 Jenkins 中注入属性文件
  2. 在我的 Java 程序中使用该文件中的凭据登录到我的应用程序。

或者,其他方式,我可以将它作为我的詹金斯工作的密码传递参数传递,但我没有办法在我的 java 程序中获取这个密码。

任何帮助,将不胜感激。提前致谢。

4

1 回答 1

3

步骤1)准备一个带有用户名和密码的java属性文件,并与java代码放在一起

username = xxx
password = xxx

步骤 2)配置 jenkins 作业以从属性文件中注入环境变量

选项 1:Inject environment variables to the build processBuild Environment部分下检查
在此处输入图像描述

选项 2:添加Inject environment variable构建步骤并将其移动到其他构建步骤的顶部
在此处输入图像描述

对于这两个选项,指定相对于 jenkins 作业工作区的凭证属性文件路径

步骤 3) 在 java cmd 行中指定系统属性:用户名和密码

例如: java -DUserName="${username}" -DPassWord="${password}"

注意
1.来自属性文件${xxx}xxx的key,区分大小写。
2. 如果用户名或密码包含空格,请使用双引号
3. 该模式-Dxxx="${yyy}"可以在两者Execute linux shellExecute windows batch构建步骤上工作。

在此处输入图像描述 更多关于 Java 命令

步骤4) 获取系统属性:Java代码中的用户名和密码

String userName = System.getProperty("UserName")
// the parameter: "UserName" from -Dxxxx, also case sensitive

在此处输入图像描述

有关系统属性的更多信息

于 2018-02-02T05:53:10.657 回答