Jenkins 多作业项目选择参数

Jenkins multi job project choice parameter

我有一个接受一些参数的多作业项目,其中一个是选择参数,因为 我是 Jenkins 的新手,它是通过 UI 手动定义的,没有使用 groovy.

When the parameters selected or passed, there is a single build that will 运行 for the defined parameters.

我想应用一些更改并实现以下行为:

使用选择参数中每个选定选项的所有参数执行同一个多作业项目。

例如,如果在 choice 参数中选择了 2 个选项 - 它将按顺序或并行触发构建两次,某种带有它接收到的参数的循环。

我试图在网上获取一些关于此的信息,但由于我不熟悉要搜索的正确术语,我得到的只是 groovy 与我需要的内容无关的脚本或答案。

我怎样才能做到这一点?

提前致谢。

经过进一步搜索,我得到了以下解决方案:

  1. 选择参数更改为扩展选择参数以允许多项选择。

  2. 创建另一个将执行以下操作的作业:

    一个。使用带有 'Extended choice parameter options'

    中设置的分隔符的 shell 脚本从扩展选择参数中解析接收到的参数

    b。使用 API 并传递相关参数,从循环中执行所需作业的构建。

     echo $OPTIONS
    
     IFS=',' read -ra options_array <<< "$OPTIONS"
    
     for option in "${options_array[@]}"
     do
       echo $option
       curl -X POST "https://<user>:<password>@<jenkins_host>/job/<job_name>/buildWithParameters?parameter=${option}"
       sleep 5
     done
    
  3. 如果没有空闲的执行器 - 增加执行器的数量以允许多个作业执行

  4. 编辑需要多次执行的作业配置,启用'Execute concurrent builds if necessary'选项