【发布时间】:2018-03-31 19:01:38
【问题描述】:
我正在尝试使用 groovy DSL 编写脚本化的 Jenkinsfile,它将在一组阶段中具有并行步骤。
这是我的詹金斯文件:
node {
stage('Build') {
sh 'echo "Build stage"'
}
stage('API Integration Tests') {
parallel Database1APIIntegrationTest: {
try {
sh 'echo "Build Database1APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database2APIIntegrationTest: {
try {
sh 'echo "Build Database2APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database3APIIntegrationTest: {
try {
sh 'echo "Build Database3APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}
}
stage('System Tests') {
parallel Database1APIIntegrationTest: {
try {
sh 'echo "Build Database1APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database2APIIntegrationTest: {
try {
sh 'echo "Build Database2APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}, Database3APIIntegrationTest: {
try {
sh 'echo "Build Database3APIIntegrationTest parallel stage"'
}
finally {
sh 'echo "Finished this stage"'
}
}
}
}
我希望有 3 个阶段:构建;集成测试和系统测试。 在两个测试阶段中,我希望并行执行 3 组测试,每组针对不同的数据库。
我有 3 个可用的执行者。一个在主服务器上,两个代理,我希望每个并行步骤在任何可用的执行器上运行。
我注意到,在运行我的管道后,我只看到 3 个阶段,每个阶段都标记为绿色。我不想查看该阶段的日志来确定该阶段中的任何并行步骤是否成功/不稳定/失败。
我希望看到我的测试阶段中的 3 个步骤 - 标记为绿色、黄色或红色(成功、不稳定或失败)。
我考虑过将测试扩展到他们自己的阶段,但我意识到不支持并行阶段(有人知道这是否会被支持吗?),所以我不能这样做,因为管道也需要很长时间完成时间很长。
任何见解将不胜感激,谢谢
【问题讨论】: