簡體   English   中英

stash / unstash將數據從構建容器傳輸到其他節點(在jenkins中)

[英]stash/unstash to transfer data from a build container to other node ( in jenkins)

在我的CI基礎設施中,我有一個jenkins主機作為容器和2個奴隸(vms)運行。 我嘗試在節點上的docker容器內運行構建,因此在構建過程中,我將目標文件夾藏起來,以便稍后在其他節點上使用它。 在作業的日志中,我可以看到該文件夾​​成功存儲。 當構建完成后,容器會自動銷毀,然后在下一步中,我會解壓縮該文件夾,以便在單獨的節點中實現另一個階段但是沒有發生這種情況。似乎unstash沒有任何東西。

PLZ如何將我的目標從容器轉移到另一個節點甚至主人?

這是我的管道代碼:

 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'
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM