Jenkins Pipeline ssh 步骤 sshPut 所有文件类型

问题描述 投票:0回答:2

我正在尝试使用 SSH 步骤将所有特定文件类型移动到另一台服务器。我特别尝试使用 sshPut 移动所有 .txt 文件。这是我正在使用的线路:

sshPut remote: remote, from: "*.txt", into: "/the/destination/folder/"

这是 Jenkins 抛出的错误:

java.lang.IllegalArgumentException: /the/source/folder/*.txt does not exist.

我知道我的 sshsteps 设置正确。我已经能够推送单个文件并在远程服务器上运行一些命令。 sshPut 甚至可以处理通配符吗?如果可能的话,我试图避免将所有内容压缩并在远程服务器上进行解压缩,但如果这是需要发生的事情,那就需要发生。我也有严格的指示,不能使用 ssh 密钥,因此目前无法使用 scp。

更新:根据 susenj 的建议,我将线路更改为:

sshPut remote: remote, from: "./", filterRegex: /\.txt$/, into: "/the/destination/folder/"

这很有效。

jenkins jenkins-pipeline jenkins-plugins
2个回答
7
投票

sshPut 的正则表达式与 Groovy 语法一起使用。请参考:https://github.com/jenkinsci/ssh-steps-plugin#sshput

您可以尝试的是:

sshPut remote: remote, from: "./", filterRegex: /.txt$/, into: "/the/destination/folder/"


0
投票

我知道这是旧帖子,但是,有没有办法使用 sshPut 命令从当前目录复制所有文件和文件夹?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.