【问题标题】:Jenkins Gradle Plugin - Pass parameters as -P instead of -DJenkins Gradle 插件 - 将参数传递为 -P 而不是 -D
【发布时间】:2015-02-27 02:31:43
【问题描述】:

好的

我有一份 Jenkins 工作(Jenkins 版本更新)。

在我的 Jenkins 工作中,我有几个参数(字符串类型)。

例如:param1=value1 ... 到 paramN=valueN

现在,在 Jenkins 工作中,在 BUILD 部分下,我正在调用“Invoke Gradle”

在这个 Gradle 部分中,我正在调用一个任务。例如:干净的构建

我需要的是:我想以 -PparamN=ValueN 的方式将上述 Jenkins 作业的参数传递给 Gradle?

但是当我在 Gradle Build 部分的“Switches”选项中传递 -Pparam1=${param1} -Pparam2=${param2} ...等等时,我看到了 Jenkins 日志正在显示:

它使用参数成功调用了Gradle exectuable。

...somepath.../bin/gradle -Dparam1=value1 -Dparam2=value2 ... -DparamN=valueN -Pparam1=value1 -Pparam2=value2 ... -PparamN=valueN

这说明,Jenkins 很友好地将参数(我在工作中定义的)以“-D”方式免费传递给 Gradle。

我的?s:

  1. 好吧,我不想将上面的参数作为-Dxxx=yyy传递
  2. 我只想传递参数-Pxxx=yyy方式
  3. 这可以通过使用“Invoke Gradle”插件实现吗?

【问题讨论】:

  • 那么 Jenkins Gradle 插件只是为您添加任何构建参数作为系统属性。通过将它们添加到“开关”配置中,您将它们添加为项目属性。我没有看到它们被声明两次的危害,而且我看不到禁用该特定插件行为的方法。
  • 同意,但是一种是定义 Java 属性 (-D) 方式,而我在“开关”框中手动指定的其他方式 (-P) 方式是 Gradle 的系统属性。

标签: plugins parameters jenkins gradle parameter-passing


【解决方案1】:

我想此时,没有办法告诉 Jenkins 中的 Gradle 插件不要将参数(在 Jenkins 作业中定义)作为 -Dxxx=$yyy 方式(它免费为我们做的)传递。

尽管如此,我们可以使用“开关”框/选项将这些参数指定为 -P 方式,但是 -D 参数将如何影响 Gradle 用于运行自身的 JVM 以及 -D 参数是否会以某种方式与 - P 参数(因为它们被传递/定义了两次)。

作为一种解决方法,我停止使用 Gradle 插件并使用 BUILD 部分下的“执行 Shell”选项,并使用相应的参数(-P 方式)和任务调用 gradle 可执行文件。

这只是使用参数和任务调用 Gradle 的一种简单方式,例如在 CMD 或 $ 提示符下运行的任务。

【讨论】:

    【解决方案2】:

    让Jenkins先把参数设为-D。然后你可以使用 -P 传递给 Gradle。例如,如果你有一个叫 env 的参数,你可以把它放在任务中作为

     -Penv=${env}
    

    【讨论】:

    • jenkins里面有gradle插件的参数配置吗?
    【解决方案3】:

    与 Jenkins Gradle 插件 1.27 一样,有一个复选框告诉插件不要将参数作为系统属性传递并手动添加一些参数。 您还可以选择将所有参数作为 Gradle 属性传递,这可能是您想要的。

    【讨论】:

    • 即使我将它作为 Gradle 项目属性传递,它也使用 -D 而不是 -P 的参数传递。另外,如果我想传递多个参数(而不是作为项目属性),那我该怎么做呢?
    • 确保您使用的是至少 1.27 版的 Gradle Jenkins 插件。我在上面添加了一个屏幕截图。请注意,项目和系统属性的配置现在位于“高级”下。有两个字段(“项目属性”和“系统属性”)允许您传递多个属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2016-02-10
    • 1970-01-01
    • 2019-08-22
    • 2021-09-01
    • 2013-03-24
    • 1970-01-01
    相关资源
    最近更新 更多