3

在 Pipeline 脚本语法中,我们使用此语法来声明特定节点的特定步骤:

steps{
    node('node1'){
        // sh
    }
    node('node2'){
        // sh
    }
}

但是我想用Pipeline Declarative Syntax,可以放很多代理吗?

4

1 回答 1

4

你当然可以。只需看一下示例(来自docs):

pipeline {
    agent none
    stages {
        stage('Build') {
            agent any
            steps {
                checkout scm
                sh 'make'
                stash includes: '**/target/*.jar', name: 'app' 
            }
        }
        stage('Test on Linux') {
            agent { 
                label 'linux'
            }
            steps {
                unstash 'app' 
                sh 'make check'
            }
            post {
                always {
                    junit '**/target/*.xml'
                }
            }
        }
        stage('Test on Windows') {
            agent {
                label 'windows'
            }
            steps {
                unstash 'app'
                bat 'make check' 
            }
            post {
                always {
                    junit '**/target/*.xml'
                }
            }
        }
    }
}
于 2018-03-27T08:54:30.233 回答