在阶段的并行步骤完成后调用插件
Invoking a plugin after parallel step has completed for a stage
我有一个像这样的管道阶段
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
sh 'gulp karma-tests-ci'
},
"Mocha": {
sh 'gulp mocha-tests'
}
)
}
}
我想在并行步骤完成后添加一个 junit 插件调用,我试过了
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
sh 'gulp karma-tests-ci'
},
"Mocha": {
sh 'gulp mocha-tests'
}
)
junit 'test/coverage/junit-coverage-results.xml'
}
}
但是得到错误:
WorkflowScript: 18: Invalid step "parallel" used - not allowed in this context - The parallel step can only be used as the only top-level step in a stages step block
在进入下一阶段之前,我有办法做到这一点吗?
您应该在并行分支中使用 steps
。
在 groovy 中,这应该有效:
stage ("test"){
parallel(
"Mocha": {
node{
sh 'gulp mocha-tests'
}
},
"Jasmin": {
node{
sh 'gulp karma-tests-ci'
}
}
)
node{
junit 'test/coverage/junit-coverage-results.xml'
}
}
在撰写本文时,如果您在声明性管道的 steps
块中使用 parallel
,则不能使用任何其他步骤。
但是,您可以将 post
section 添加到您的阶段,以便在成功执行测试后 junit
步骤始终是 运行。例如:
stage('Unit Tests') {
steps {
parallel
'Jasmine': {
sh 'gulp karma-tests-ci'
},
'Mocha': {
sh 'gulp mocha-tests'
}
}
post {
success {
junit 'test/coverage/jasmine-results.xml'
junit 'test/coverage/mocha-results.xml'
}
}
}
我有一个像这样的管道阶段
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
sh 'gulp karma-tests-ci'
},
"Mocha": {
sh 'gulp mocha-tests'
}
)
}
}
我想在并行步骤完成后添加一个 junit 插件调用,我试过了
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
sh 'gulp karma-tests-ci'
},
"Mocha": {
sh 'gulp mocha-tests'
}
)
junit 'test/coverage/junit-coverage-results.xml'
}
}
但是得到错误:
WorkflowScript: 18: Invalid step "parallel" used - not allowed in this context - The parallel step can only be used as the only top-level step in a stages step block
在进入下一阶段之前,我有办法做到这一点吗?
您应该在并行分支中使用 steps
。
在 groovy 中,这应该有效:
stage ("test"){
parallel(
"Mocha": {
node{
sh 'gulp mocha-tests'
}
},
"Jasmin": {
node{
sh 'gulp karma-tests-ci'
}
}
)
node{
junit 'test/coverage/junit-coverage-results.xml'
}
}
在撰写本文时,如果您在声明性管道的 steps
块中使用 parallel
,则不能使用任何其他步骤。
但是,您可以将 post
section 添加到您的阶段,以便在成功执行测试后 junit
步骤始终是 运行。例如:
stage('Unit Tests') {
steps {
parallel
'Jasmine': {
sh 'gulp karma-tests-ci'
},
'Mocha': {
sh 'gulp mocha-tests'
}
}
post {
success {
junit 'test/coverage/jasmine-results.xml'
junit 'test/coverage/mocha-results.xml'
}
}
}