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脚本,安 ...
随机推荐
- Java 中 String 的字面量与 intern 方法
下方代码主要说明: String b = new String("xyz") 创建2个对象,一个在常量池中的 "xyz",一个 String 实例对象,返回的 ...
- ldd可执行程序时返回not a dynamic executable
原因:32位程序放在64位机器上或64位程序放在32位程序上了 解决方法:如果是32位程序放在64位系统上则安装yum -y install libstdc++.i686,64位则是yum -y in ...
- 解决spring 用@Value注入配置时候出现中文乱码问题
只要是乱码,很明显需要指定编码格式,为utf-8 <!-- 注解使用properties --> <bean id="configProperties" clas ...
- eclipse 遇到的问题及解决思路
招黑的我和eclipse相冲,莫名其妙出现一堆问题.现在打算不定时更新把我遇到的问题更上来,解决方法也附上,不一定适用以后遇到的问题,可以是提供一种解决问题的思路. 1.eclipse配置问题(jar ...
- Elasticsearch学习笔记(九)partial update
一.什么是partial update? PUT /index/type/id,创建文档&替换文档,就是一样的语法 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个 ...
- Mysql集群原理
一. 主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在:如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没 ...
- for循环的beak continue用法
continue跳出该循环, for循环后面的都要执行.break直接中段循环 后面不执行了
- java实验一总结
实验一第一部分 在Linux中运行结果 通过cd和mkdir命令建立tree,带包编译并用 javac -d bin 的命令将编译文件保存在bin目录中 通过 java -cp 的命令运行带包的程序 ...
- python类与对象-如何创建可管理的对象属性
如何创建可管理的对象属性 问题举例 在面向对象编程中, 我们把方法看作对象的接口, 直接访问对象的属性可能是不安全的,或设计上不够灵活. 但是使用调用方法在形式上不如访问属性简洁. circle.ge ...
- nvidia-smi 实时查看
需要用到 watch 命令: watch -n nvidia-smi