Jenkins 使用ssh 传输文件的插件很多,比如SSH plugin, SCP publisher,Publish Over SSH,pipeline脚本可以用 SSH Pipeline Steps,如果你不想用插件,也可以直接通过命令进行复制

Jenkins 使用Publish Over SSH插件传输文件如图所示,文件路径为相对路径
可以使用pipeline 脚本为

sshPublisher(publishers: [sshPublisherDesc(configName: '30.208', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/home/software/microservice-docker-jars', remoteDirectorySDF: false, removePrefix: 'target', sourceFiles: 'target/*.jar')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true)]
)

使用 SSH Pipeline Steps 插件并结合withCredentials 如下:

def remote = [:]
remote.name = "node-1"
remote.host = "10.000.000.153"
remote.allowAnyHosts = truenode {withCredentials([sshUserPrivateKey(credentialsId: 'sshUser', keyFileVariable: 'identity', passphraseVariable: '', usernameVariable: 'userName')]) {remote.user = userNameremote.identityFile = identitystage("SSH Steps Rocks!") {writeFile file: 'abc.sh', text: 'ls'  #写入脚本sshCommand remote: remote, command: 'for i in {1..5}; do echo -n \"Loop \$i \"; date ; sleep 1; done'sshPut remote: remote, from: 'abc.sh', into: '.'sshGet remote: remote, from: 'abc.sh', into: 'bac.sh', override: truesshScript remote: remote, script: 'abc.sh'sshRemove remote: remote, path: 'abc.sh'}}
}

sshPut 正则匹配写法如下:

sshPut remote: remote, from: './target/', filterRegex: /\.jar$/, into: '/data/software/jars'

但是sshPut 在实际使用过程中,当我们利用正则匹配匹配target下的jar包,无法仅复制文件夹中的文件。总是将整个文件夹复制过去,该插件没有给出很好的解决方案 (或许可以使用filterBy,filterRegex参数进行过滤,感兴趣的可以试试)。
比较好的解决方案如下:

findFiles(glob: 'Build/rpms/*.rpm').each { rpmFile -> sshPut remote: remote, from: rpmFile.path, into: '/data/mirror/rpm-repo'
}

findFiles依赖插件:Pipeline Utility Steps,否则会报错:java.lang.NoSuchMethodError: No such DSL method ‘findFiles’ found among steps

Jenkins通过SSH进行文件传输相关推荐

  1. scp 命令 路径_基于SSH的文件传输:scp命令

    日常开发中,经常需要在服务器和本地之间进行文件传输.这里来介绍一种基于SSH的文件传输方法--scp命令 命令格式 scp(secure copy,remote file copy program), ...

  2. SSH和文件传输(SCP)

    装载自 http://wuyong0125.blog.163.com/blog/static/5692021020086144740373/ SSH和文件传输(SCP) 默认分类 2008-07-01 ...

  3. 树莓派使用SSH进行文件传输

    一.SSH软件 使用SSH Secure Shell这个软件进行文件传输,一般来说,只要是两个支持SSH协议的机器,都能使用SSH进行远程连接,使用SSH能够加强系统安全和用户自身的权益,所以使用SS ...

  4. Linux下利用ssh远程文件传输 传输命令 scp

    在linux下一般用scp这个命令来通过ssh传输文件. 一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进 ...

  5. 两台虚拟机之间直接通过ssh进行文件传输

    在linux系统中可以用cp进行文件的拷贝.当我们通过SSH远程登录到服务器或其他机器上的时候,要如何拷贝文件呢?答案是用scp命令.这个命令用起来也很简单. 1,从服务器拷贝文件到本地,在本地终端输 ...

  6. java ssh 服务器文件传输_java使用SFTP上传文件到资源服务器

    本文实例为大家分享了java实现SFTP上传文件到资源服务器工具类,供大家参考,具体内容如下 首先得创建连接sftp服务器的公共类MySftp.java: package cn.test.util; ...

  7. linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录

    在本文中,我们将解释如何通过SSH使用rsync复制文件.当涉及在网络上的系统之间传输文件时,Linux和Unix用户可以使用许多工具,最流行的数据传输协议是SSH和FTP,虽然FTP很受欢迎,但总是 ...

  8. 知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞

    基于 SSH 的文件传输协议 SCP(Secure Copy Protocol)被曝存在安全漏洞. 安全研究人员公布了 SCP 存在的多个漏洞,这些漏洞可以结合起来利用,分别为 CVE-2018-20 ...

  9. 全球及中国文件传输软件行业应用动态及市场调研分析报告2021年版

    全球及中国文件传输软件行业应用动态及市场调研分析报告2021年版 [搜索鸿晟信合查看官网更多内容!]  2020年,全球文件传输软件市场规模达到了 百万美元,预计2027年将达到 百万美元,年复合增长 ...

最新文章

  1. 机器学习的出现,是否意味着“古典科学”的过时?
  2. 图解计算机中数据的表示形式
  3. 集成android studio,Android Studio集成
  4. AndroidStudio常用快捷键及其设置
  5. Angular @Effect监听指定Action类型的实现原理
  6. python学习-defaultdict
  7. 与「韦神」齐名,他35岁任教清华!18岁一战成名,数学界颜值巅峰
  8. idal 创建springboot 项目_SpringBoot教程:Maven方式创建SpringBoot项目
  9. java 模块化 soa_OSGI与SOA的千丝万缕
  10. [Java] 蓝桥杯PREV-3 历届试题 带分数
  11. php strip_tag 回车,详解PHP函数 strip_tags 处理字符串缺陷bug
  12. python中去除列表重复元素的方法汇总
  13. Android——多功能记事本(Android Studio)
  14. 截图工具FastStone Capture
  15. 软件人员kpi制定模板_员工绩效考核评分表模板
  16. win11怎么装回win10系统
  17. 玩游戏计算机虚拟内存怎么设置,【新手指导】电脑虚拟内存设置
  18. 【Pyecharts50例】GEO使用外国地图/使用美国地图
  19. 计算机组策略定时开机脚本,批处理+组策略 实现规定时间段无法开机and定时关机...
  20. 深度学习之图像分类(九)--ResNeXt 网络结构

热门文章

  1. Linux多路复用之select方案
  2. jmeter函数助手二次开发之加解密
  3. 计算机关机慢什么原因,电脑关机慢是什么原因
  4. Java垃圾回收精粹
  5. 广州食堂供应商排行榜,食堂供应商十佳参考名单
  6. 特蕾莎修女在诺贝尔奖颁奖仪式上的“贪婪”请求
  7. #榜样的力量#天玑数据大脑疫情风险感知预警平台“智疫通”丨数据猿新冠战“疫”公益策划...
  8. python随机数生成十个数字的成语_python小白也可以分分钟爬取微博数据,并生成有个性的词云,你get到了吗?...
  9. 数据集匹配算法(Java)
  10. git回滚远程合并提交