【发布时间】:2021-12-17 05:25:05
【问题描述】:
我提供了一个条款,可以从管道构建中选择多个 jmx 文件,并在 Jenkins 中使用参数。 enter image description here
下面是我写的获取参数并将其传递给jmeter脚本的代码
def fileNamesList = Select_JMX_Files.split(',').toList();
def fileValuesList = JmxParams.split(',').toList();
int startIndex = 0
int endIndex = 5
def output = [:]
for(fileName in fileNamesList) {
output.put(fileName,fileValuesList.subList(startIndex,endIndex));
startIndex = endIndex
endIndex = endIndex + 5
}
def result = []
output.eachWithIndex { key, val, i -> str = "jmeter -n -t ${fileNamesList[i]} -Jthreads=${val[0]} -Jdelay=${val[1]} -Jstart=${val[2]} -Jhold=${val[3]} -Jshutdown=${val[4]} -l out23.jtl"
result.add("$str".toString())
}
def parallelStagesMap = result.collectEntries {
["${it}" : generateStage(it)]
}
def generateStage(job) {
return {
stage("stage:jmeterjob") {
sh "${job}"
}
}
}
pipeline {
agent {
label "linux1"
}
stages {
stage('parallel stage') {
steps {
script {
parallel parallelStagesMap
}
}
}
}
}
以下是作业执行后的控制台输出。 enter image description here
你能帮我解决我失踪的问题吗?
我是 jenkins 和管道脚本的新手
【问题讨论】:
标签: jenkins groovy jmeter jenkins-pipeline jenkins-groovy