如何使用 Jenkins 参数化构建?

2022-09-01 19:14:20

Jenkins 允许你参数化构建,但我不知道如何实际利用它:

enter image description here

假设我通常会从命令行踢出我的蚂蚁构建,如下所示:

ant -buildfile /path/to/my/build.xml -DpackageType=jar package

这将调用 的目标,并使名为 的属性可供其使用,其值为 。build.xmlpackagepackageTypejar

我假设在上面的屏幕截图中,“名称”字段是我指定的地方,但是值呢?packageType

  1. 如果 Jenkins 希望我为该属性指定默认值,那么我应该在哪里指定我的项目正在使用的值?例如,我可能想要默认值 ,但让这个 Jenkins 作业传递的值为 (以覆盖默认值)。warjar
  2. 另外,詹金斯所说的“...允许用户保存键入实际值。哪个用户?您无论如何都会在哪里键入该值?

提前致谢!


答案 1

每当用户在 Jenkins 中配置参数化构建时,参数名称都会被视为环境变量

用户可以使用环境变量来使用此类参数。

例如,在您的情况下,如果 packageType 是要传递的参数,

然后将名称指定为包类型,将值指定为 war

可以在所需的脚本中将其用作 %packageType%(对于 Batch)或 $packageType(对于 shell)

配置作业后,每当您单击“立即构建”按钮时,Jenkins 都会提示输入参数

使用文件参数时,上传的文件将被放入工作目录


答案 2