Jenkins Gradle插件 - 将参数传递为-P而不是-D

Aru*_*gal 10 parameters plugins parameter-passing gradle jenkins

我有詹金斯的工作(詹金斯版本更近).

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

例如:参数1 =值1 ...参数N =值N.

现在,在Jenkins的工作中,在BUILD部分下,我正在调用" Invoke Gradle".

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

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

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

它用参数成功地称为Gradle exectuable.

...somepath.../bin/gradle -Dparam1=value1 -Dparam2=value2 ... -DparamN=valueN -Pparam1=value1 -Pparam2=value2 ... -PparamN=valueN
Run Code Online (Sandbox Code Playgroud)

这个告诉,Jenkins非常友好地将参数(我在作业中定义的)传递给Gradle作为免费的"-D"方式.

我的:

  1. 好吧,我不想将上述参数传递为-Dxxx = yyy
  2. 我想传递参数-Pxxx = yyy方式
  3. 这可以使用"Invoke Gradle"插件吗?

Aru*_*gal 5

我想在这个时候,没有办法告诉Jenkins中的Gradle插件不能将参数(在Jenkins作业中定义)传递为-Dxxx = $ yyy方式(它为我们免费提供).

但是,我们可以使用"开关"框/选项将这些参数指定为-P方式,但是-D参数将如何影响Gradle用于运行自身的JVM以及-D参数是否会以某种方式与-P参数冲突(因为他们正在通过/定义两次).

作为一种解决方法,我停止使用Gradle插件并使用BUILD部分下的"Execute Shell"选项,并使用相应的参数(-P way)和task(s)调用gradle可执行文件.

这只是一种简单的方法,可以通过参数和任务来调用Gradle,例如您在CMD或$ prompt中运行的参数和任务.


wol*_*s42 5

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

在此处输入图片说明