首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用多项选择来运行作业?

如何使用多项选择来运行作业?
EN

Stack Overflow用户
提问于 2021-02-17 09:45:14
回答 1查看 149关注 0票数 0

我已经创建了一条jenkins管道来运行作业(例如,Pipeline A运行作业B)。在作业B中有多个参数。其中一个参数是具有多个不同选项的choice参数。我需要流水线A一次运行具有所有不同选择的作业B(流水线A在一个构建中运行具有所有不同选择的作业B)。我不太熟悉使用Jenkins声明性语法,但我猜我会使用某种for循环来迭代所有可用的选项?

我已经在Stack overflow/google上搜索并搜索了一个答案,但没有太多的运气。

EN

回答 1

Stack Overflow用户

发布于 2021-02-17 18:59:08

您可以在作业之外的共享库中的单独文件中定义这些选项:

代码语言:javascript
复制
// vars/choices.groovy

def my_choices = [
    "Option A",
    "Option B", // etc.
]

然后,您可以在定义作业时使用以下选项:

代码语言:javascript
复制
// Job_1 Jenkinsfile

@Library('my-shared@master') _ 

properties([
    parameters([

        [$class: 'ChoiceParameterDefinition',
            name: 'MY_IMPORTANT_OPTION',
            choices: choices.my_choices as List,
            description: '',
        ],
...

pipeline {
    agent { any }

    stages {
...

在Job 2中,您可以迭代值:

代码语言:javascript
复制
// Job_2 Jenkinsfile

@Library('my-shared@master') _ 

pipeline {
  agent { any }

  stages {
    stage {
      for (String option : choices.my_choices) {
        build job: "Job_1", 
          wait: false, 
          parameters: [ string(name: 'MY_IMPORTANT_OPTION', value: option) , // etc.
          ]

Job_2在运行时将异步触发Job_1的多次运行,每次都会使用不同的参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66234653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档