文件没有在jenkins服务器的从机中解压缩

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (110)

我使用ubundu作为jenkins服务器的主机并将windows机器配置为从机。我试图将一个文件从主服务器存储到另一个工作空间,但它并没有被释放。

node('slave') {
   node('master'){
     stash includes: "file.tgz" name: "master-stash"
   }
   unstash "master-stash"
   bat "ls"
}

输出:

[Pipeline] node
Running on master in /var/lib/jenkins/workspace/testing
[Pipeline] {
[Pipeline] stash
Stashed 1 file(s)
[Pipeline] }
[Pipeline] // node
[Pipeline] unstash

该文件可以从主服务器中隐藏,但它不会在从属工作空间中存在。

提问于
用户回答回答于

我认为你应该使用:

unstash name: 'stash_name'

我在2.47版本使用Jenkins,它适用于我。这里有一点是,如果你包含“rootFolder / file.tgz”,你的unstash将为你提供文件的完整路径。如果您只想获取文件并将其放在当前目录中,则应使用:

dir('path to file'){ stash name: 'my_stash' includes:'file.something' } unstash name:'my_stash' sh 'ls'

将输出sh'ls .'显示“file.something”以及您取消暂停的文件夹中的其他文件。

用户回答回答于

我通过在隐藏包含中添加根文件夹解决了存储和解除问题的问题。我不知道为什么它不会解压缩单个文件,但它可以用文件解压缩根文件夹。

node('slave') {
   node('master'){
     stash includes: "rootFolder/file.tgz" name: "master-stash"
   }
   unstash "master-stash"
   bat "ls"
}

可以从当前工作空间的rootFolder / file.tgz获取unstash文件。

扫码关注云+社区

领取腾讯云代金券