存储/不存储将数据从构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' } }