【问题标题】:How to make .properties read parameters from Jenkins如何让 .properties 从 Jenkins 读取参数
【发布时间】:2015-09-03 12:18:54
【问题描述】:

我使用 Jenkins 定期运行回归 我有带有“ATC.properties”的 java-maven 项目,我可以通过取消注释适当的选项来选择浏览器、环境等

#### browser ######
browser.name=firefox
#browser.name=chrome
#browser.name=ie

所以我必须提交它,推送它,并且只有在 Jenkins 上的该工作之后才会使用“ATC.properties”中选择的参数运行构建

如何让我的 Maven 项目从参数化的 Jenkins 构建中读取参数。 任何人都可以给我一些浏览器的例子吗? 我是否必须使用另一个带有描述变量的“.properties”文件 喜欢

browser.name=${browser.name} ... 

在我的项目中?

【问题讨论】:

标签: java maven jenkins continuous-integration jenkins-plugins


【解决方案1】:

Jenkins 中定义的参数将在 Maven Build 中运行时扩展,下面的过程不需要额外的属性文件:

定义詹金斯选择参数:

browser_name

提供所有浏览器选项作为选项,并在运行时选择所需选项。

现在将您的 pom.xml 替换为 ${browser_name},您需要选择读取浏览器值而不是从属性文件中读取值。

在运行时传递参数如下

mvn clean install -Dbrowser_name=%browser_name% [incase of windows]
mvn clean install -Dbrowser_name=$browser_name  [incase of linux]

【讨论】:

  • 您能否提供更多信息或一些有关“现在用 ${browser_name} 替换您的 pom.xml 的信息,您需要选择读取浏览器值而不是从属性文件中读取值。” - 我希望有可能通过评论在本地切换环境 - 在 ATC.properties 中取消评论,也可以在 Jenkins 上独立打开非常感谢
  • 我相信你在 pom.xml 的属性标签中使用 ATC,properties 文件传递​​浏览器,我建议你用 ${browser_name} 替换它,这将扩展为你在 jenkins run 中选择的值,并且在本地运行时,您可以直接在 -Dbrowser_name=chrome 中给出值,这将做同样的事情
  • 如果我在 POM 中不使用任何与浏览器相关的标签该怎么办 - 我的代码从 ATC.properties 中按键获取此参数: browser.name=firefox #browser.name=chrome #browser .name=ie 在这种情况下,活动浏览器是 firefox
猜你喜欢
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多