Jenkins>>>应用篇>>>插件使用>>>Publish over SSH
依赖环境
SSH:
远程机开启SSH服务。同意Jenkins所在机器通过SSH服务登录到远程机运行脚本。
能够设置SSH使用username/password或通过key登录,SSH配置请查专门的资料这里不做说明
JDK:
本文部署的是JAVA应用。远程机上要用jdk环境,如非Java应用请忽略
Tomcat:
本文是以Tomcat为例,将应用部署到Tomcat中运行,远程机上安装Tomcat是必须的,
如非Java应用请忽略。如用其它web容器请查找容器的安装资料 在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置具体配置请看
------www.cnblogs.com/guanyf/p/10600458.html------
插件安装
打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,假设搜索不到能够在“已安装”里确认是否已经安装过。在搜索结果中选中“Publish over SSH”。点击页面的“直接安装”button。系统会自己主动安装。此插件安装后不须要重新启动Jenkins。假设插件成功安装在“系统管理>系统设置”会出现相关配置项。

插件配置
全局设置
插件成功安装后使用前须要在“系统管理>系统设置”中进行配置。处如图:

參数说明
Passphrase:SSH的password
使用username/password登录时为username的password。使用私钥登录时为私钥的password。
Path to key:SSH私钥的文件路径
私钥文件的路径,能够是绝对路径。也能够是相对$JENKINS_HOME的相对路径
Key:私钥
私钥导出后的文本内容
假设“Key”和“Path to key”都设置,则“Key”的优先级较高,私钥的password是“Passphrase”中设置的内容
Disable exec:禁止在目标机上运行命令
勾选后将会忽略在Job配置中“Exec command”选项中设置的命令。
Jenkins的说明文档中的“The Disable exec in the advanced settings for individual configurations will be ignored.”
没有全然理解。从实际效果来看,仅仅要“Disable exec”被勾选后,无论SSH Server中是否勾选“Disable exec”。Job中设置的命令都将补忽略
SSH Server 配置
SSH Server配置为Publish Over SSH中运程机的配置,分“基本设置”和“高级设置”两部分。“基本设置”主要是运程机IP、SSHusername、SSHport、连接超时时间等。“高级设置”和大部分“全局设置”中的选项相同。Job中使用的每个运程机都要在这里进行配置。

参数说明: Name:ssh server的名字,随便写,意义明确,到时候选择的时候,下拉框显示的就是这个名字 HostName:远程服务器的IP地址,不用带端口号 UserName:登陆服务器的用户名 Remote Directory:远程服务器的目录,用来存放build完的war包,这里填写tomcat的安装目录即可 Use password authentication, or use a different key:默认是未勾选的,这是登陆服务器的方式,一种是使用用户名密码,另外一种是需要在服务器上生成证书key之类的,为了图方便这里我勾上了。 Passphrase / Password:填上服务器的密码即可。 其他选项保持默认,然后保存。
高级设置
高级设置里能够设置SSHport、重试时间以及又一次设置“全局设置”中的选项。因为做用类似,不再做反复说明,设置例如以下图:

设置完成后点击 "Test Configuration"进行测试,出现下图提示表示设置成功

在Jenkins中配置Job
在Job设置中“添加构建步骤”里选择“Send files or execute commands over SSH”,即能够Job中使用Publish over SSH插件,配置例如以下图:

Name :之前添加过的SSH server
Transfer set配置参数如下:
Source files:<>
文件源,就是在Jenkins机器上的root/.jenkins/workspace/项目名/,
这是根目录(项目名就是你之前在Jenkins新建的项目),这个根目录下的war包路径
比如:root/.jenkins/workspace/myproject/a/b/c.war,
那么Source files填写a/b/c.war即可。
那么,我怎么知道我的全路径是什么呢,大家可以不配构建环境,在上一步的git地址配好以后,直接去build,
构建完以后构建的信息里会有相关的路径输出
Remove prefix:去掉source files的路径,
比如之前是a/b/c.war,那么我如果填写a/b/,那么最后只会把c.war传输到目标文件下面。
Remote directory:这是war包传输到远程服务器上的路径,
但是由于之前在配置SSH Server的时候已经配置了一个Remote directory,所以默认如果不填,
那么就是ssh server的目录,如果填的话,那么就会在ssh server的directory下去查找/生成。
Exec Command:这个是填写shell命令,在你把war包传完以后,会去执行这里的命令。
到此配置完成
Jenkins>>>应用篇>>>插件使用>>>Publish over SSH的更多相关文章
- Jenkins——应用篇——插件使用——Publish over SSH
本文是jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在"參考资料"部分附上原始链接,如无意中侵犯您的权利.请联系Q ...
- jenkins插件之Publish Over SSH的使用
1,安装 在插件管理选项搜索Publish Over SSH,然后点击安装即可完成 2,安装完成之后,就可以在jenkins的配置系统中找到Publish Over SSH 配置完服务器之后,然后在项 ...
- Jenkins 基础篇 - 插件安装
这一小节主要介绍 Jenkins 插件的安装,登录到 Jenkins 后,依次进入到[系统管理]→ [插件管理]→ [可选插件],在这里可以看到所有的 Jenkins 插件,如下图: 我们在最开始安装 ...
- 使用Publish Over SSH插件实现远程自动部署
背景: 现场的部署环境开放外网环境困难,只有一台机器能够开发外网,应对该情况,所有的补丁文件需要直接在master机器上面生成,然后命令移动到其他的服务器上面去. 这里使用到了jenkins的Publ ...
- jenkins中通过Publish Over SSH将项目部署到远程机器上
Publish Over SSH插件使用在使用Publish Over SSH之前,需要制作SSH私钥.机器间做免密登录配置.假设机器A,ip为192.168.AA.AAA,机器B: 192.168. ...
- jenkins插件Publish Over SSH因安全问题下架
最近用docker新搭建了一个jenkins,安装插件的时候发现publish over ssh找不到了,官方给出的解释是存在安全隐患于2022.01.12暂停分发,官方解释如下:https://ww ...
- Jenkins通过Publish over SSH插件实现远程部署
Jenkins通过Publish over SSH插件实现远程部署 步凑一.配置ssh免秘钥登录 部署详情地址:http://www.cnblogs.com/Dev0ps/p/8259099.html ...
- Jenkins系列-Jenkins通过Publish over SSH插件实现远程部署
配置ssh免秘钥登录 安装Publish over SSH插件 插件使用官网:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plug ...
- Jenkins高级应用——Publish Over SSH插件
在之前的篇幅中有介绍,利用jenkins结合shell脚本完成远程部署的功能,点击Jenkins结合shell+expect脚本完成线上环境自动构建部署即可查看. 上述方式需要引入expect脚本,安 ...
随机推荐
- TP5在前端时间戳转换为时间格式
value="{:date('Y-m-d H:i:s',$data['add_date'])}" 例如: <td>{:date('Y-m-d H:i:s',$d[' ...
- JavaScript基础知识(Date 的方法)
Date 的方法 console.log(typeof Date);// "function" Date的实例 console.log(typeof new Date()); // ...
- 使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体
使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体 [csharp] view plaincopyprint? <SPAN ...
- Gym 101606L - Lounge Lizards - [计算几何+LIS]
题目链接:https://codeforces.com/gym/101606/problem/L 题解: 在同一条线上的所有蜥蜴,他们的斜率都是相通的,换句话说可以直接通过斜率将蜥蜴分组. 每一组即代 ...
- Express全系列教程之(六):cookie的使用
一.关于Cookie 在我们关闭一个登录过的网址并重新打开它后,我们的登录信息依然没有丢失:当我们浏览了商品后历史记录里出现了我们点击过的商品:当我们推回到首页后,推荐商品也为我们选出了相似物品:事实 ...
- 学习ActiveMQ(一):安装与启动
一:简单介绍 AvtiveMQ是Apaceh所研发的一个开源消息中间件,用来在服务与服务之间进行异步通信,是基于JMS规范的.activemq包含发送者(sender).消息(message).队列( ...
- Redis的持久化之RDB方式
RDB方式 Redis是默认支持的 优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件) 劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的.也就是积攒 ...
- 2019春第七周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 在这里 我在这个课程的目标是 能更加进一步的够熟练掌握指针的用法 这个作业在那个具体方面帮助我实现目标 指针对于基础题目的做法 参考文献与 ...
- tesseract库
1.简介 # -*-coding:utf8 -*- #图形验证码识别技术 ''' 阻碍我们爬虫的,有时候是在登录或者请求一些数据时候的图形验证码.因此这里我们讲解 一种能将图片翻译成文字的技术.将图片 ...
- minikube windows hyperx填坑记
minikube windows hyperx填坑记 安装了一天半,还是没行,先放弃 开始 minikube start --vm-driver=hyperv --hyperv-virtual-swi ...