管理成功在同一节点上并行运行集成测试,现在我想将它们分布在不同的节点上。在下面的示例中,我希望阶段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'
}
}