Publish Over SSH插件使用

在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置。假设机器A,ip为192.168.AA.AAA,机器B: 192.168.BB.BBB,机器A能够免密登录机器B,机器B能够免密登录机器A,制作方式是:
进入A机器,执行:

cd ~
ssh-keygen -t rsa

通过下面的命令,表示可以通过机器192.168.AA.AAA免密登录到机器192.168.BB.BBB

ssh-copy-id 192.168.BB.BBB


验证方式是:在A机器上执行ssh 192.168.BB.BBB,然后执行ifconfig检查当前的ip,若发现机器的ip已经变成了192.168.BB.BBB说明免密登录设置成功。

进入B机器,执行:

cd ~
ssh-keygen -t rsa
ssh-copy-id 192.168.AA.AAA

验证方式是:在B机器上执行ssh 192.168.AA.AAA,然后执行ifconfig检查当前的ip,若发现机器的ip已经变成了192.168.BB.BBB说明免密登录设置成功。

在系统配置中配置Publish Over SSH

进入Jenkins—>系统管理—>系统设置,配置Publish over SSH

参数说明:

Passphrase:密码(key的密码,如果你设置了)
Path to key:key文件(私钥)的路径
Key:将私钥复制到这个框中
Disable exec:禁止运行命令
私有配置:
SSH Server Name:标识的名字(随便你取什么)
Hostname:需要连接ssh的主机名或ip地址(建议ip)
Username:用户名
Remote Directory:远程目录
Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)
私有配置的高级:
Port:端口(默认22)
Timeout (ms):超时时间(毫秒)默认即可
Disable exec:禁止运行命令
Test Configuration:测试连接

对构建的项目中的SSH进行配置:

在执行前要配合Build–>Post Steps中的Execute shell配置,执行scp命令,将要拷贝的项目先远程拷贝到远程机器上。在Execute shell中的内容如下:

scp -r /root/.jenkins/workspace/youxuan_api_pre/qt360-web/target/youxuan_api root@192.168.BB.BBB:/usr/local/jenkinsTempFolder/
export BUILD_ID=DONTKILLME

点击构建的项目—>配置–>构建后操作,选择Send build artifacts over SSH,进行如下配置(注意:下面的Exec command是远程机器上执行的脚本):

脚本内容如下:

#!/bin/bash
echo "==================start deploy project========================="
ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txt
sed 's/  / /g' tomcat_info.txt > tomcat_info1.txt
sed 's/  / /g' tomcat_info1.txt > tomcat_info.txt
sed 's/  / /g' tomcat_info.txt > tomcat_info1.txt
cat tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txtfor line in `cat tomcat_info.txt`
dokill -9 $line
donecd /usr/local/tomcat/webapps
rm -rf youxuan_api*
mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps/etc/init.d/tomcat start
sync
echo 3 > /proc/sys/vm/drop_caches
echo "==================deploy project success========================="

参数说明:

SSH  Server Name:选个一个你在系统设置里配置的配置的名字Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)Exec command:把你要执行的命令写在里面(新版本的要求Transfer Set Source files和Exec command都要填写,可以不了他。老版本的允许只填写一个)高级:Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:**/*.log,**/*.tmp,.git/)Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)No default excludes:禁止默认的排除规则(具体的自己看帮助)Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)Flatten files:只上传文件,不创建目录(除了远程目录)Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式),具体格式参考下表:Remote directory    Directories created
'qa-approved/'yyyyMMddHHmmss    qa-approved/20101107154555
'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}'    builds/2010/11/07/build-456 (if the build was number 456)
yyyy_MM/'build'-EEE-d-HHmmss    2010_11/build-Sun-7-154555
yyyy-MM-dd_HH-mm-ss 2010-11-07_15-45-55Exec timeout (ms):运行脚步的超时时间(毫秒)Exec in pty:模拟一个终端执行脚步Add Transfer Set:增加一个配置

jenkins中通过Publish Over SSH将项目部署到远程机器上相关推荐

  1. xshell将项目部署到远程服务器上

    使用xshell部署Tomcat项目 Xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.Xshell 通过互联网 ...

  2. idea怎么把代码放到git_在IDEA中如何初始化Git,把项目推送到Git上

    在IDEA中如何初始化Git,把项目推送到Git上 登录Gitee(码云)账号,新建仓库 先按如下步骤简单新建一个仓库: 创建成功后,会出现下图中所示的原始文件: 在IDEA上的Terminal中进行 ...

  3. 项目部署到Linux服务器上 (全)linux服务器安装java mysql 配置

    项目部署到Linux服务器上 (全) 1.服务器准备 首先你需要购买一台云服务器 我是领取的阿里云的服务器 选择linux系统 设置好 服务器的密码 忘记可以在 控制台首页 云服务器ECS 里面找到购 ...

  4. 将项目部署到云服务器上

    将项目部署到云服务器上 一.购买云服务器(略) 可以通过注册阿里云学生证明,领取免费的学生机. 二.操作云服务器linux 2.1.安装nginx 先更新源列表 注意:由于是cent os,所以不能用 ...

  5. 如何将web项目部署到远程桌面,通过远程地址访问web项目

    如何将web项目部署到远程桌面,通过远程地址访问web项目 进入公司会经常让你把某个项目或者一些展示数据的html文件放到远程服务器上,可供大家一起访问查看,看了网上的一些办法大部分都是nginx,t ...

  6. 如何将Python项目部署到新电脑上运行?

    如何将Python项目部署到新电脑上运行? 在工作中,可能需要在新服务器上部署项目代码,例如新增服务器.把测试环境的代码部署到生产环境等. 在生活中,也会遇到换新电脑,需要将自己在旧电脑上写的(项目) ...

  7. 将安卓项目部署云服务器,将app项目部署到云服务器上

    将app项目部署到云服务器上 内容精选 换一换 ContainerOps需要与其他云服务协同工作,ContainerOps和其他云服务的关系如图1.云容器引擎云容器引擎(Cloud Container ...

  8. 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)...

    为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键"高级设置"-->"进程模型"--& ...

  9. 配置 --- 将本地项目部署到阿里云上

    说明: 项目代码 学习地址 项目前端使用了nginx代理 后端使用express框架 使用PM2部署后端 使用mongoDB进行持久化 nginx.express.PM2.mongoDB等,部署在do ...

最新文章

  1. CSS中块级格式化上下文(BFC)的特性与应用
  2. Vue安装jquery插件
  3. myeclipse mysql 乱码_MyEclipse与mysql增改查现乱码解决方案绝对有效
  4. python语言浮点数可以不带小数部分吗_python 浮点数四舍五入需要注意的地方
  5. AMR无限增发代币至任意以太坊地址的漏洞利用及修复过程
  6. X光肺炎检测竞赛上线!
  7. 程序员工作5年后,在管理通道和技术通道上,如何抉择?
  8. 阿里云短信验证码平台使用demo
  9. Qt 之 模仿 QQ登陆界面——样式篇
  10. 原生js删除html,javascript删除一个html元素节点的方法
  11. pl0运行栈中间代码类P-code解析
  12. PS更新升级Adobe Camera Raw(ACR)15.3
  13. 第一次修U盘,没想到...
  14. 月末复盘,正视稀缺状态
  15. android调起应用商店某应用详情页
  16. ArcGIS教程——ArcGIS快速入门
  17. UDS诊断服务的会话层和寻址方式
  18. SQL更新(INSERT,UPDATE,DELETE)语句的一般格式及注意事项
  19. 云呐|什么是固定资产?什么是流动资产
  20. 如何下载网页上的音乐?不用注册!不用会员!不用播放器!

热门文章

  1. 基本数据类型_JavaScript基本数据类型
  2. Python的字符串操作和Unicode
  3. wxWidgets:编写非英语应用程序
  4. boost::log::to_log_manip用法的测试程序
  5. boost::hana::Comparable用法的测试程序
  6. boost::interprocess::anonymous_shared_memory用法的测试程序
  7. boost::hana::make_lazy用法的测试程序
  8. VTK:可视化之LineWidth
  9. VTK:Utilities之FullScreen
  10. VTK:PolyData之Reflection