min*_*rse 1 jenkins jenkins-pipeline
我有一个这样的管道阶段
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
sh 'gulp karma-tests-ci'
},
"Mocha": {
sh 'gulp mocha-tests'
}
)
}
}
Run Code Online (Sandbox Code Playgroud)
我想在并行步骤完成后添加一个junit插件调用,
stage('Unit Tests') {
steps {
parallel (
"Jasmine": {
sh 'gulp karma-tests-ci'
},
"Mocha": {
sh 'gulp mocha-tests'
}
)
junit 'test/coverage/junit-coverage-results.xml'
}
}
Run Code Online (Sandbox Code Playgroud)
但是得到错误:
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
Run Code Online (Sandbox Code Playgroud)
在进入下一阶段之前,有什么方法可以做到吗?
在撰写本文时,如果您在声明性管道parallel的steps块中使用,则不能使用任何其他步骤。
但是,您可以在阶段中添加一个post部分,以便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'
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
961 次 |
| 最近记录: |