五、Jenkins系列_使用scp命令进行远程文件复制遇到的坑
2017-12-26 19:21
816 查看
一、场景介绍
项目为微服务项目,使用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复制文件就免输密码了。
相关文章推荐
- Linux使用scp远程传输命令进行服务器文件互传(阿里云服务器)
- Linux使用scp命令进行文件远程的上传或下载
- Linux使用scp远程传输命令进行服务器文件互传(阿里云服务器)
- Linux中使用scp命令进行文件上传至远程服务器
- 使用ssh进行远程连接以及远程跳板以及scp远程上传下载文件说明
- 远程复制文件scp使用
- 使用cp/scp命令进行数据库的复制
- 远程复制文件scp命令
- scp命令远程复制文件
- Linux下使用scp命令进行自动远程拷贝
- 使用scp命令拷贝远程windows系统下的文件到liunx下
- linux远程拷贝或下载文件使用-ftp命令和scp命令详解
- 使用scp命令进行文件上传到服务器
- Linux 使用expect工具和scp命令实现自动复制传输文件
- 使用xcopy命令将文件复制到远程机器上
- Linux跨服务器复制文件 scp命令的使用
- Linux文件远程拷贝命令scp的使用
- linux下ssh远程登录/scp远程复制文件/rsync远程同步命令的自动登录
- Linux scp远程复制命令使用详解
- linux scp命令参数及用法详解--linux远程复制拷贝命令使用实例【转】