java - 如何在 Jenkins 中注入(inject)属性文件并在 Java 代码中使用它的值

标签 java jenkins property-files

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

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

或者, 换句话说,我可以将它作为我的 jenkins 作业的密码传递参数传递,但我无法在我的 java 程序中获取此密码。

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

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

username = xxx
password = xxx

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

选项 1:检查 Build Environment 部分下的 Inject environment variables to the build process
enter image description here

选项 2:添加一个Inject environment variable 构建步骤并将其移动到其他构建步骤的顶部
enter image description here

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

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

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

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

enter image description here More about Java command

第四步获取ssytem属性:Java代码中的用户名和密码

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

enter image description here

More about system property

关于java - 如何在 Jenkins 中注入(inject)属性文件并在 Java 代码中使用它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575994/

相关文章:

java - 如果用户尚未经过身份验证,如何处理对 View 的访问?

Java:如何故意使 Jenkins 构建失败?

javascript - 如何使用 JavaScript 参数的外部值?

javascript - Facebook javascript SDK 从属性文件到 jsp 的共享版本不起作用 [webapp]

javascript - 如何将 config.properties 转换为键值对?

java - 使用 jar 文件中的代码时出现问题

java - Android:将 int 值从一个 Activity 传递到另一个 Activity

java - 在 BigDecimal 中查找有效数字位数的好方法?

Jenkins 共享管道库 : Can I declare static variables in vars file?

bash - 可以使用脚本下载和配置jenkins吗?