【问题标题】:Pass variable from Pre step to Build Step in Maven Jenkins Job将变量从 Pre 步骤传递到 Maven Jenkins Job 中的构建步骤
【发布时间】:2020-08-13 13:38:33
【问题描述】:

我有一个运行 pom.xml 文件的 maven 作业,我提供的一些目标如下:

  • Pom 文件:pom.xml
  • 目标:测试 -DsuiteName=testng.xml

现在我想在此作业“Run_Failed_Cases_Only”中添加一个单选按钮参数,如果用户选择它,那么我想传递 testng-failed.xml 文件而不是 testng.xml。如下:

  • Pom 文件:pom.xml
  • 目标:测试 -DsuiteName=testng-failed.xml

所以我想要的是,如果有任何方法可以使用 Windows 批处理命令步骤,它将检查是否选择了“Run_Failed_Cases_Only”,然后根据以下条件将变量 $goals 传递给构建步骤:

if(Run_Failed_Cases_Only is selected)
  $goals = "test -DsuiteName=testng-failed.xml" 
else 
  $goals = test -DsuiteName=testng.xml

然后我将在目标文本框中使用此变量。

【问题讨论】:

  • 您可以在管道中使用Extensible Choice Parameter。您可以参考这个stackoverflow answer 如何在管道代码中使用它。然后,您可以根据choice参数使用具体的条件。
  • 感谢@souravatta,但我只需要创建一个 Maven 项目作业。有什么方法可以在 Maven Project Job 中做到这一点?

标签: maven jenkins testng


【解决方案1】:

创建 Maven 项目作业后,从常规选项卡中选择选项此项目已参数化。如果未安装可扩展选择插件,请安装它,然后您可以在 This project is parametrized

中找到相同的

请在下面找到截图。

然后,你可以根据choice参数使用具体的条件。

或者,您也可以使用此项目已参数化中提供的Generator Choice参数来获取结果。

请找到截图。

然后,您可以根据选择使用特定条件。

【讨论】:

  • 你能告诉我在哪里以及如何定义条件吗?
【解决方案2】:

通过使用扩展选择参数并提供不同的显示名称和值来解决此问题,如下所示:

然后将此参数用作 POM 中的变量,如下所示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 2015-06-20
    • 1970-01-01
    • 2012-01-03
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多