Jenkins Pipeline - 如何在并行执行后获取值

时间:2016-10-26 09:53:20

标签: jenkins groovy jenkins-pipeline

是否可以在并行执行期间保存一些值并在最后一步中使用这些值?

在下面的例子中,我想知道在并行执行期间使用哪个jenkins slave并在最后一步中使用它。

node {
    stage 'Checkout'
    checkout([...])
    stash includes: '**', name: 'binary'

    stage 'Running simulation'
    parallel (
        "stream 1" : { 
                         node {
                                unstash "binary"
                                sh "echo \"\$(whoami)@\$(hostname):\$PWD\""
                                // How to save the previous result

                                // Run simulation on node first slave
                                ...
                           } 
                       },
        "stream 2" : { 
                         node {             
                                unstash "binary"
                                sh "echo \"\$(whoami)@\$(hostname):\$PWD\""
                                // How to save the previous result

                                // Run simulation on node second slave
                                ...
                           } 
                       }
              )


    stage 'Gathering results files'
    // use the values of the slaves to retrieve some files.

    stage 'Generate report'

}

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

我的不好,我使用的是2.3版本的Pipeline Nodes和Processes Plugin。它适用于版本2.5

hostname = sh (returnStdout: true, script: 'hostname')
println hostname