我正在尝试使用 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/"
这很有效。
sshPut 的正则表达式与 Groovy 语法一起使用。请参考:https://github.com/jenkinsci/ssh-steps-plugin#sshput
您可以尝试的是:
sshPut remote: remote, from: "./", filterRegex: /.txt$/, into: "/the/destination/folder/"
我知道这是旧帖子,但是,有没有办法使用 sshPut 命令从当前目录复制所有文件和文件夹?