有没有办法在詹金斯中使用外部变量作为选择参数?
Is there a way to use external variable as choice parameters in jenkins?
我想从我的 sql Table 中获取数据并将它们用作 Jenkins 中的选择参数
+----+
| ID |
+----+
| 11 |
| 23 |
| 45 |
| 72 |
| 5 |
| 16 |
| 71 |
| 18 |
+----+
我想将这些 ID 用作 Jenkins 中的一个选择参数,以便使用其中一个 ID 进行构建,即使用这些 ID 号作为参数构建参数
我只是想在构建之前使用这些 ID 号作为选项的下拉列表,并且所选选项可以用作构建步骤中脚本的参数。
实现这一目标的方法是什么?请帮忙
您可以将扩展选择参数与属性文件结合使用来实现。
- 创建内容为
key=value1,value2,value3,...
的属性文件,例如 key=11,23,45,72,5,16,71,18
。
- 将此文件放在您的 Jenkins 主文件系统中,例如
/var/lib/jenkins/userContent/build.properties
。您需要编写一个自动化 script/create 另一个作业来定期更新此文件。
- 在您的作业配置中,select 此项目已参数化 > 扩展选择参数。
- 为您的参数输入一个名称,例如
TABLE_VALUE
。
- Select 基本参数类型 > 单一Select.
- 输入用于分隔属性文件中的值的分隔符。在这种情况下,逗号
,
.
- Select 属性 File 并在 Jenkins master 中输入属性文件的路径 -
/var/lib/jenkins/userContent/build.properties
.
- 输入
key
作为 属性 键。
- 保存作业配置。
- 使用管道中的变量
TABLE_VALUE
访问 selected 参数的值。
管道代码
您可以通过将此块放在顶部来在管道中实现相同的效果:
properties([
parameters([
extendedChoice(
name: 'TABLE_VALUE',
description: '',
type: 'PT_SINGLE_SELECT',
multiSelectDelimiter: ',',
propertyFile: '/var/lib/jenkins/userContent/build.properties',
propertyKey: 'key',
quoteValue: false
)
])
])
有关 type 的所有可能值,请参阅 source code for all possible parameters and PT constants。
工作配置
构建参数
我想从我的 sql Table 中获取数据并将它们用作 Jenkins 中的选择参数
+----+
| ID |
+----+
| 11 |
| 23 |
| 45 |
| 72 |
| 5 |
| 16 |
| 71 |
| 18 |
+----+
我想将这些 ID 用作 Jenkins 中的一个选择参数,以便使用其中一个 ID 进行构建,即使用这些 ID 号作为参数构建参数
我只是想在构建之前使用这些 ID 号作为选项的下拉列表,并且所选选项可以用作构建步骤中脚本的参数。
实现这一目标的方法是什么?请帮忙
您可以将扩展选择参数与属性文件结合使用来实现。
- 创建内容为
key=value1,value2,value3,...
的属性文件,例如key=11,23,45,72,5,16,71,18
。 - 将此文件放在您的 Jenkins 主文件系统中,例如
/var/lib/jenkins/userContent/build.properties
。您需要编写一个自动化 script/create 另一个作业来定期更新此文件。 - 在您的作业配置中,select 此项目已参数化 > 扩展选择参数。
- 为您的参数输入一个名称,例如
TABLE_VALUE
。 - Select 基本参数类型 > 单一Select.
- 输入用于分隔属性文件中的值的分隔符。在这种情况下,逗号
,
. - Select 属性 File 并在 Jenkins master 中输入属性文件的路径 -
/var/lib/jenkins/userContent/build.properties
. - 输入
key
作为 属性 键。 - 保存作业配置。
- 使用管道中的变量
TABLE_VALUE
访问 selected 参数的值。
管道代码
您可以通过将此块放在顶部来在管道中实现相同的效果:
properties([
parameters([
extendedChoice(
name: 'TABLE_VALUE',
description: '',
type: 'PT_SINGLE_SELECT',
multiSelectDelimiter: ',',
propertyFile: '/var/lib/jenkins/userContent/build.properties',
propertyKey: 'key',
quoteValue: false
)
])
])
有关 type 的所有可能值,请参阅 source code for all possible parameters and PT constants。
工作配置
构建参数