【发布时间】:2018-05-21 13:48:24
【问题描述】:
成功地在同一个节点上并行运行集成测试,现在我想将它们分布在不同的节点上。在下面的示例中,我希望阶段 IT 1 和 IT 2 在不同的节点上运行,而 IT 3 在原始节点上运行。通过使用node 作为stage('IT 1') 的父级和node 作为孩子的父级尝试了几种组合,但我都遇到了语法错误。实现此目的的正确语法是什么?
pipeline {
agent { label '!master' }
stages {
stage('Integration Tests') {
parallel {
stage('IT 1 (slow)') {
steps {
sh 'run-it-1.sh'
}
}
stage('IT 2 (slow)') {
steps {
sh 'run-it-2.sh'
}
}
stage('IT 3 (quick)') {
steps {
sh 'run-it-3.sh'
}
}
}
}
}
}
编辑:使用 label 而不是 node 适用于声明性管道。示例如下:
stage('IT 1 (slow)') {
agent { label '!master' }
steps {
sh 'run-it-1.sh'
}
}
【问题讨论】:
标签: jenkins parallel-processing jenkins-pipeline distributed