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

Gil*_*RET 16 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...
Run Code Online (Sandbox Code Playgroud)

我试图使用复制神器的一步,但它似乎没有正常工作,所以我不知道是否有在管道中间复制文件的方式,或者如果我要留在当前的构建体系结构(使用复制工件插件,但具有完全独立的构建作业).

Ste*_*ing 16

是的,这可以使用stash/ unstashsteps.

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

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

  • 我实际上想知道它是否可以用于大文件.Jenkins文档说它应该用于小于5 MB的文件。能行吗 (2认同)