How to run multiple stages on the same node with declarative Jenkins pipeline?

后端 未结 4 629
失恋的感觉
失恋的感觉 2021-01-31 02:54

Goal
Run multiple stages of a declarative Jenkins pipeline on the same node.

Setup
This is just a minimal example to show the p

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-31 03:22

    I have found that this works as you would expect

    #!groovy
    
    windowsNode = 'windows'
    
    pipeline {
        agent none
        stages {
            stage('Stage 1') {
                steps {
                    node(windowsNode) {
                        script {
                            // all subsequent steps should be run on the same windows node
                            windowsNode = NODE_NAME
                        }
                        echo "windowsNode: $windowsNode, NODE_NAME: $NODE_NAME"
                    }
                }
            }
            stage('Stage 2') {
                steps {
                    node(windowsNode) {
                        echo "windowsNode: $windowsNode, NODE_NAME: $NODE_NAME"
                    }
                }
            }
        }
    }
    

提交回复
热议问题