executor wherever one is available, regardless of how it is labeled or configured. Not only can this behavior be overridden, but Pipeline allows utilizing multiple agents in the Jenkins environment from within the  same Jenkinsfile , which can helpful for more advanced use-cases such as executing builds/tests across multiple platforms. In the example below, the "Build" stage will be performed on one agent and the built results will be reused on two subsequent agents, labelled "linux" and "windows" respectively, during the "Test" stage. // Declarative // 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' } } } } 39