【问题标题】:Is there a way to use external variable as choice parameters in jenkins?有没有办法在詹金斯中使用外部变量作为选择参数?
【发布时间】:2019-10-31 07:26:37
【问题描述】:

我想从我的 sql 表中获取数据并将它们用作 Jenkins 中的选择参数

+----+
| ID |
+----+
| 11 |
| 23 |
| 45 |
| 72 |
|  5 |
| 16 |
| 71 |
| 18 |
+----+

我想在 Jenkins 中使用这些 ID 作为选择参数,以便使用这些 ID 之一进行构建,即使用这些 ID 号作为参数构建参数

我只是想在构建之前将带有这些 ID 号的下拉菜单作为选项,并且所选选项可以用作构建步骤中脚本的参数。

实现这一目标的方法是什么?请帮忙

【问题讨论】:

    标签: jenkins deployment jenkins-pipeline jenkins-cli automated-deploy


    【解决方案1】:

    您可以将扩展选择参数与属性文件结合使用。

    1. 创建内容为key=value1,value2,value3,... 的属性文件,例如key=11,23,45,72,5,16,71,18
    2. 将此文件放在您的 Jenkins 主文件系统中,例如,/var/lib/jenkins/userContent/build.properties。您需要编写自动化脚本/创建另一个作业以定期更新此文件。
    3. 在您的作业配置中,选择This project is parameterized > Extended Choice Parameter
    4. 输入参数的名称,例如TABLE_VALUE
    5. 选择基本参数类型 > 单选
    6. 输入用于分隔属性文件中的值的分隔符。在这种情况下,逗号 ,
    7. 选择Property File并输入Jenkins master中属性文件的路径-/var/lib/jenkins/userContent/build.properties
    8. 输入key 作为属性键
    9. 保存作业配置。
    10. 使用管道中的变量TABLE_VALUE 访问所选参数的值。

    管道代码

    您可以通过将此块放在顶部来在管道中实现相同的效果:

    properties([
        parameters([
            extendedChoice(
                name: 'TABLE_VALUE', 
                description: '', 
                type: 'PT_SINGLE_SELECT',
                multiSelectDelimiter: ',', 
                propertyFile: '/var/lib/jenkins/userContent/build.properties', 
                propertyKey: 'key',
                quoteValue: false
            )
        ])
    ])
    

    所有可能的参数请参见source code类型的所有可能值请参见PT constants

    工作配置

    构建参数

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 1970-01-01
      • 2021-09-10
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 2015-08-16
      相关资源
      最近更新 更多