存储/不存储将数据从构build容器传输到其他节点(在jenkins中)

在我的CI基础设施中,我有一个jenkins大师作为容器和2个奴隶(vms)运行。 我尝试在一个节点上的Docker容器中运行一个构build,所以在构build过程中,我隐藏了我的目标文件夹,稍后在其他节点上使用它。 在作业的日志中,我可以看到该文件夹​​成功隐藏。 当构build完成后,容器被自动销毁,然后在下一步我取消该文件夹以获得单独的节点中的另一个阶段,但没有发生..似乎没有任何东西。

PLZ如何将我的目标从容器转移到另一个节点,甚至是主?

这是我的pipe道代码:

node('docker') { stage('Checkout Code') { checkout scm } stage('Build') { withMaven( jdk: 'jdk_8', maven: 'maven 3') { mvn 'clean install' stash name: 'war', includes: 'x.war' } } node('master') { stage('test') { withMaven( jdk: 'jdk_8', maven: 'maven 3') { unstash : 'war' sh 'mvn clean test' } } } } 

我怀疑这场战争实际上是被藏起来的,因为生成的战争不应该在你执行mvn clean install目录中。

我预计这场战争将成为目标。 你可能想要改变includes: 'x.war'includes: 'target/x.war' 。 或者,转到安装war的maven仓库,并从那里存储文件:

 withMaven( jdk: 'jdk_8', maven: 'maven 3') { mvn 'clean install' dir('<path to war>'){ stash name: 'war', includes: 'x.war' } }