def executiongate=params['GATEEXECUTION']
def testcases=params['TESTCASES'].tokenize(",")
def outerInstanceType = params['outerInstanceType'].tokenize(",")
def outerInstanceCapacity = params['outerInstanceCapacity'].tokenize(",")
def innerInstanceType = params['innerInstanceType'].tokenize(",")
def innerInstanceCapacity = params['innerInstanceCapacity'].tokenize(",")
def dbInstanceType = params['dbInstanceType'].tokenize(",")
def dbInstanceSize = params['dbInstanceSize'].tokenize(",")
outerInstanceType.collect { outerType ->
outerInstanceCapacity.collect { outerCapacity ->
innerInstanceType.collect { innerType ->
innerInstanceCapacity.collect { innerCapacity ->
dbInstanceType.collect { dbType ->
dbInstanceSize.collect { dbSize ->
guard {
build("Job1",
outerInstanceType: outerType,
outerInstanceCapacity: outerCapacity,
innerInstanceType: innerType,
innerInstanceCapacity: innerCapacity,
dbInstanceType: dbType,
dbInstanceSize: dbSize)
buildClosures = []
testcases.collect { testcase ->
def curClosure = {
ignore(FAILURE) {
build(executiongate,
TESTCASE: testcase
)
}
}
buildClosures.add(curClosure)
}
parallel(buildClosures)
} rescue {
build( "Cleanup")
}
}
}
}
}
}
}