You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过参数按顺序执行Jenkins多任务?

简化Jenkinsfile中批量顺序执行命令的写法

你可以通过定义产品列表变量,结合script块嵌入Groovy循环来实现批量顺序执行,比逐行写sh命令简洁很多,而且能保证命令按顺序运行。

以下是两种可行的写法:

方式一:用environment定义全局产品列表

pipeline {
    agent any
    environment {
        // 用逗号分隔产品名称,注意字符串要加引号
        PRODUCTS = 'PRODUCT1,PRODUCT2,PRODUCT3'
    }
    stages {
        stage('批量执行命令') {
            steps {
                script {
                    // 分割字符串为数组,遍历每个产品执行命令
                    env.PRODUCTS.split(',').each { product ->
                        sh "something ${product}"
                    }
                }
            }
        }
    }
}

方式二:在script块内定义局部产品列表

pipeline {
    agent any
    stages {
        stage('批量执行命令') {
            steps {
                script {
                    // 直接定义Groovy列表
                    def products = ['PRODUCT1', 'PRODUCT2', 'PRODUCT3']
                    // 顺序遍历每个元素,执行对应命令
                    products.each { product ->
                        sh "something ${product}"
                    }
                }
            }
        }
    }
}

注意事项

  • 声明式流水线不支持直接在pipeline根块下定义变量,必须用environment(全局变量)或script块(局部变量)
  • 循环逻辑必须放在script块中,因为声明式语法本身不支持循环,需要嵌入脚本式Groovy代码
  • 遍历过程是严格顺序执行的,每个sh命令会等前一个执行完成后才启动,完全符合你的需求
  • 如果产品名称包含特殊字符,记得做好转义处理

内容的提问来源于stack exchange,提问作者Danijel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:51:32