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脚本,安 ...
随机推荐
- node 学习(二)
写基础太麻烦了 我花了个基础知识的脑图
- (转载)CentOS6 Linux系统添加永久静态路由的方法
https://blog.csdn.net/magerguo/article/details/49636231
- 解决C#中FileSystemWatcher类的Changed事件触发多次的问题
public static void WatchFile() { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = ...
- js如何判断数字是否有小数
//如果是5.00之类的,转换后,应该不要小数点后的位数 let num = 5.34; //let num = 5.00; let arr = num .toString().split(" ...
- Visual Studio Code for mac 设置中文
1,mac系统VScode设置中文 macOS 快捷键:command + shift + p 输入搜索 configure language 1.Ctrl+Shift+P 打开命令 2. ...
- Android创建列表并为列表添加数据
在Android开发中经常会用到ListView,也就是列表,而列表的内容需要如何决定呢,很好的方法是使用各种adapter 首先来看看用entries添加列表内容 在布局文件中,创建一个ListVi ...
- TNS-12560: TNS: 协议适配器错误同时伴有TNS-00584: 有效节点检查配置错误的解决方法
:修改/home/oracle/app/product/11.2.0/db_1/network/admin/sqlnet.ora(与listener.ora同一目录) 增加白名单: tcp.valid ...
- MongoDB - Indexes
#explain command pp db[:zips].find(:state => 'MD').explain #List all indexes: db[:zips].indexes.e ...
- 深入剖析虚拟DOM提升性能(Vue,React);
I.原始渲染方式(直接操作DOM): 1.state数据: 2.JSX模板: 3.数据 + 模板 相结合,生成真实的DOM来显示: 4.state发生改变: 5.数据 + 模板结合,生成真实的DOM来 ...
- TCP/IP协议 网络层
IP协议介绍 1.IP协议是TCP/IP协议族中最为核心的协议.IP协议将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包 ...