插件安装

打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,如果搜索不到可以在“已安装”里确认是否已经安装过。在搜索结果中选中“Publish over SSH”,点击页面的“直接安装”按钮,系统会自动安装,此插件安装后不需要重启Jenkins。如果插件安装成功在“系统管理>系统设置”会出现相关配置项

 
image.png

配置

打开Jenkins的“系统管理>系统管理

 
image.png

参数说明

  • Passphrase:SSH的密码
    使用用户名/密码登录时为用户名的密码,使用私钥登录时为私钥的密码。
  • Path to key:SSH私钥的文件路径
    私钥文件的路径,可以是绝对路径,也可以是相对$JENKINS_HOME的相对路径
  • Key:私钥
    私钥导出后的文本内容

如果“Key”和“Path to key”都设置,则“Key”的优先级较高,私钥的密码是“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 Servers
SSH Server配置为Publish Over SSH中运程机的配置,分“基本设置”和“高级设置”两部分;“基本设置”主要是运程机IP、SSH用户名、SSH端口、连接超时时间等,“高级设置”和大部分“全局设置”中的选项相同。Job中使用的每一个运程机都要在这里进行配置

  • Name
    SSH节点配置的名称,在Job中使用Publish over SSH插件时,此名称将出现在“SSH Server”中“Name”的下拉列表中,如下图: [图片上传中...(image-fe9240-1523170131387-0)]
  • Hostname
    通过SSH连接到的机器的主机名或IP
  • Username
    SSH服务使用的用户名,使用key进行连接时为key指定的用户名
  • Remote Derictory
    运程机器上真实存在的目录,并且“Username”指定的用户要有访问此目录的权限,插件将把文件传送到此目录下。
 
image.png

新建任务

 
image.png
  • 源码
 
image.png
  • 配置
clean package  -Dmaven.test.skip=true
 
image.png

在Jenkins中配置Job

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

 
image.png

参数说明
Name
“系统管理>系统设置”设置的SSH Sverver的名字列表。
Source files
复制到运程机上的文件,运行表达式,如上图中的target/.war,“/.war”。
Remove prefix
文件复制时要过滤的目录,如上图中的target目录。
Remote directory
文件得到到远程机上的目录,此目录是相对于“SSH Server”中的“Remote directory”的,如果不存在将会自动创建。
Exec command
在这里可以填写在运程机器上执行的脚本,如:应用部署脚本

cd /jekins/data/mweb
today=$(date +%Y%m%d%H%M)
tar -cvzf /jekins/back/mweb_$today.tar.gz mweb
sudo rm -rf /usr/local/tomcat7-1/webapps/mweb*
\cp -rf mweb.war /usr/local/tomcat7-1/webapps/
sudo systemctl restart tomcat7-1
 
image.png
  • 访问

     
    image.png

作者:AmeeLove
链接:https://www.jianshu.com/p/0d805ed204e6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Jenkins-Publish Over SSH插件的更多相关文章

  1. Jenkins通过Publish over SSH插件实现远程部署

    Jenkins通过Publish over SSH插件实现远程部署 步凑一.配置ssh免秘钥登录 部署详情地址:http://www.cnblogs.com/Dev0ps/p/8259099.html ...

  2. Jenkins系列-Jenkins通过Publish over SSH插件实现远程部署

    配置ssh免秘钥登录 安装Publish over SSH插件 插件使用官网:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plug ...

  3. Jenkins中Publish Over SSH插件使用

    Publish Over SSH插件安装 进入插件管理安装插件,我这里已经安装过了所以在installed里面,没安装过去available里面搜索. 系统设置中配置Publish Over SSH ...

  4. 使用Publish Over SSH插件实现远程自动部署

    背景: 现场的部署环境开放外网环境困难,只有一台机器能够开发外网,应对该情况,所有的补丁文件需要直接在master机器上面生成,然后命令移动到其他的服务器上面去. 这里使用到了jenkins的Publ ...

  5. docker:(5)利用docker -v 和 Publish over SSH插件实现war包自动部署到docker

    在 docker:(3)docker容器挂载宿主主机目录 中介绍了运行docker时的一个重要命令 -v sudo docker run -p : --name tomcat_xiao_volume ...

  6. Publish over SSH插件安装

    1 Publish over SSH插件安装 打开Jenkins的“系统管理>管理插件”,选择“可选插件”,在输入框中输入“Publish over SSH”进行搜索,如果搜索不到可以在“已安装 ...

  7. jenkins+Publish Over SSH 提示:Transferred 0 file(s)

    之前公司用jekins来进行自动化发布,现在公司因没有运维,所以自己学习.并搭建了一个jenkins的环境来进行项目自动化部署. 不料在最后连接ssh后部署时,一直提示Transferred 0 fi ...

  8. Jenkins高级应用——Publish Over SSH插件

    在之前的篇幅中有介绍,利用jenkins结合shell脚本完成远程部署的功能,点击Jenkins结合shell+expect脚本完成线上环境自动构建部署即可查看. 上述方式需要引入expect脚本,安 ...

  9. jenkins publish over ssh使用

    1.在需要远程的ubuntu服务器上生成密钥,指令:ssh-keygen   一路默认下去,会在~/.ssh目录下生成 id_rsa(私钥).id_rsa.pub(公钥) 2.复制公钥文件id_rsa ...

  10. Jenkins publish over ssh 路劲配置问题 记录

    每次通过jenkins 实现  maven项目编辑后 自动通过 ssh发布到 服务器的功能时,对配置的路劲有疑问,特整理出来 前提:服务器路径   /home/ubuntu/aps 目标: 构建后的j ...

随机推荐

  1. Python logging记录日志

    Python logging记录日志 调试的几种方法: 使用print()在控制台上输出 使用assert断言 使用logging模块 logging提供了一组便利的函数,用来做简单的日志,(当然也能 ...

  2. 《 Java 编程思想》CH08 多态

    在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征. 多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来. "封装"通过合并特征和行为来创建新的数据类 ...

  3. CentOS 6.4安装mongo的php扩展包

    最近安装mongo相关内容,因mongodb下载好解压即可使用,在这里我就不多说了,这里我分享下如何安装mongo的php扩展 首先下载扩展包https://github.com/mongodb/mo ...

  4. [redis读书笔记] 第一部分 数据结构与对象 简单动态字符串

    本读书笔记主要来自于<<redis设计与实现>> -- 黄键宏(huangz) redis主要设计了字符串,链表,字典,跳跃表,整数集合,压缩列表来做为基本的数据结构,实现键值 ...

  5. javascript原生ajax请求

    class Ajax{ constructor(url, method, data, callback_suc, callback_err, callback_run){ this.RT = true ...

  6. pytorch-- Attention Mechanism

    1. paper: Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translat ...

  7. Linux Firewalld用法及案例

    Firewalld概述 动态防火墙管理工具 定义区域与接口安全等级 运行时和永久配置项分离 两层结构 核心层 处理配置和后端,如iptables.ip6tables.ebtables.ipset和模块 ...

  8. 配置ASA防火墙 远程管理方式

          受不了,asa和思科路由器 系统命令不一致,这一篇专门来写asa.      先看下版本 asa825# show version      Cisco Adaptive Security ...

  9. ab使用详解—如何使用apache性能测试工具进行压力测试

    作为后端工程师,除了实现业务需求之外,需要考虑的就是自己写的服务,在大并发下是否能正常运行了.但是,在一般开发情况下,没那么多大并发情况让你测试,那该怎么办呢? 这时候,我们就可以用到apache的压 ...

  10. oracle表空间位置迁移

    1.先登录sqlplus: C:\Documents and Settings\jbdu>sqlplus “/as sysdba”2.修改表空间为Offline: SQL> alter t ...