站点图标 星露谷值班站长

jenkins pipeline将字符串转换成数组

在使用 jenkins 的过程中需要参数化构建,而参数化构建会生成变量供 pipeline 步骤构建使用。

项目需要同时构建多个应用,如下图勾选指定应用部署执行项目

pipeline 内容

node('master') {stage('构建 server') {echo "${server}"
    }
}

选择 3 个应用构建后日志输入如下

如果我们使用 for 循环处理则显示如下

pipeline 如下

node('master') {stage('构建 server') {echo "${server}"
        for (job in server){echo "${job}"
        }
    }
}

构建结果如下,可以看到所有的参数都被当作字符串循环处理了

这个时候就需要把字符串转换成数组形式,groovy 中使用 split() 方法分割字符串并返回数组形式

完整 pipeline 如下

循环获取到的参数,使用 for 循环构建选中的项目

node('master') {stage('构建 server') {echo "${server}"
        def sampleText =server.split(',')
        for(String i in sampleText) {println(i);
            build job: i
        }
    }
}

最后查看日志可以看到选中的项目都被构建了。

退出移动版