使用Jenkins管道在节点之间复制构建工件

时间:2016-06-07 19:11:54

标签: jenkins jenkins-pipeline

我正在尝试将现有的Jenkins构建作业移动到单个Jenkins 2管道,并想知道是否可以在构建中将文件从一个节点复制到另一个节点。我的想法是:

Node A (Windows)
  Checkout scm
  Execute ant build
  Archive artifact (or whatever required action)
Node B (Unix)
  Checkout scm
  Copy build artifact from node A --> is this possible ?
  Execute ant build
  Then followed by tests...

我已尝试使用复制工件步骤,但它似乎无法正常工作,所以我想知道是否有办法在管道中间复制文件,或者如果我必须留在当前的构建体系结构(使用copy artifact plugin,但使用完全独立的构建作业)。

1 个答案:

答案 0 :(得分:14)

是的,可以使用stash / unstash步骤。

关于这方面的教程也可以在Jenkins Blog(专注于并行执行)中找到:

parallel (
    "stream 1" : { 
                     node { 
                           unstash "binary"                           
                           sh "sleep 20s" 
                           sh "echo hstream1"
                       } 
                   },
    "stream 2" : { 
                     node { 
                           unstash "binary"
                           sh "echo hello2"
                           sh "hashtag fail"                                                       
                       } 
                   }
          )