一、场景介绍

项目为微服务项目,使用jenkins进行统一部署。基本思路是
1. 在jenkins服务器上使用git插件拉取项目代码
2. 使用gradle进行打包
3. 将打好的jar包使用scp远程复制到部署服务器上
4. 执行远程shell脚本启动jar包项目

二、坑

scp命令copy文件时需要输入密码,然而shell脚本中对密码输入的处理还是很麻烦的。有以下两种方式:

1.使用密码插件,自动输入密码

2.使服务器之间相互信任,这样scp命令就不需要输入密码了

第一种方式,网上搜了下,感觉很麻烦,就没有去尝试了。第二种方式的配置过程如下:

1.复制jenkins服务器用户目录下的.ssh/id_rsa.pub中的内容

(没有这个文件的话可以网上查查怎么生成)。

cat ~/.ssh/id_rsa.pub

2.将上面复制的内容添加到应用服务器(也就是需要远程部署应用的服务器)的.ssh/authorized_keys文件中。

一般这个文件初始都是空的,直接使用vim命令复制进去就好。

#如果文件是空的可以直接使用以下命令复制进去
echo 复制的内容 >> ~/.ssh/authorized_keys

这个时候环境配置就准备好了。

3.这个时候使用jenkins构建时,仍然失败,提示权限不够,这就是坑。

原因:虽然我们已经配置了相许信任,但是第一次使用scp命令需要先自己手动在shell中端中执行一次才可以。那么我们使用scp随意复制个文件过去,输入密码。

之后再用jenkins复制文件就免输密码了。

五、Jenkins系列_使用scp命令进行远程文件复制遇到的坑相关推荐

  1. linux命令跨进程拷贝文件,linux scp命令安全远程文件复制程序

    功能描述 scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. ...

  2. java 用于xcopy复制_利用xcopy命令实现本地文件复制到远程服务器的方法

    利用xcopy命令实现本地文件复制到远程服务器的方法 更新时间:2013年05月08日 10:52:36   作者: 把本地文件复制到远程服务器:用Xcopy命令可以做到,具体实现如下,感兴趣的朋友可 ...

  3. scp命令获取远程文件

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响 ...

  4. Linux之scp命令实现远程服务器的文件拷贝

    scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令. 有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需 ...

  5. centos 7.9 scp命令 实现远程拷贝文件

    1.说明 Linux scp 命令用于 Linux 之间复制文件和目录. scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令. s ...

  6. linux常用的scp命令远程服务传输文件使用例子

    场景: 在使用Linux操作系统的过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是secure copy的简写,用来在L ...

  7. Linux命令-scp命令-发送文件/文件夹到其他linux主机

    linux系统 :centOS7 scp命令用于发送文件到其他linux主机. 格式: scp 文件路径 目标主机ip/域名:目标路径 例如:将本机etc目录下的hosts文件发送到192.168.1 ...

  8. 开发板和虚拟机Linux使用scp命令互传文件

    scp命令 Linux scp 命令用于 Linux 之间复制文件和目录 scp 是 secure copy 的缩写,scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令 scp ...

  9. Linux 命令之 rcp -- 远程文件复制

    文章目录 一.命令介绍 一.命令介绍 rcp命令的英文是"remote file copy",即远程文件复制,可以使在两台Linux主机之间的文件复制操作更简单.通过适当的配置,在 ...

最新文章

  1. 计算机视觉:Bag of words算法实现图像识别与搜索
  2. 不要做浮躁的嵌入式系统工程师
  3. Python之Django框架开发博客
  4. C++和Java的属性访问和方法调用 效率比较
  5. 解决方案 | python安装wordfreq库
  6. access vba在新建查询前查看查询名是否存在
  7. android优美列表页面,android listview 列表 点击列表进入详细页面
  8. 请问诸位大神,Android怎么实现图片转动
  9. elasticsearch集群部署
  10. java输入验证码代码,JavaWeb 实现验证码功能(demo)
  11. UOJ269 清华集训2016 如何优雅地求和 下降幂多项式、NTT
  12. 11月第4周国内域名服务商TOP10:7家实现净增长
  13. 基于Ubuntu的linux环境制作嵌入式SD/TF启动卡
  14. DG半离散格式的转化---基于matlab编写
  15. 摄像机标定学习笔记(1)
  16. Python--绘制点
  17. 5G+VR慢直播,带来沉浸式VR直播体验
  18. 湖南计算机考试题库,湖南省计算机等级考试编程题题库之十六
  19. discuz 论坛不同版块使用不同模板
  20. 1489: L先生与质数V4(二分+大区间求素数模板)

热门文章

  1. pytorch环境配置
  2. window onunload使用
  3. dbeaver 设置编码_宝鼎伺服马达编码器磨损维修
  4. 人脸识别“卡壳”,智能门禁形同虚设?涂鸦社区送上破解攻略
  5. illustrator插件-拼版功能-内角线-js脚本开发-ai插件
  6. 数据增强之Mosaic数据增强的优点、Mixup,Cutout,CutMix的区别
  7. python实现阿里云物联网平台历史数据查询
  8. MCE公司:新型靶向RAS突变的共价抑制剂
  9. weka连接mysql
  10. 老男孩培训 | 0基础转行,大专学历,工资翻3倍,他只用了5个月!