背景:

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

  这里使用到了jenkins的Publish Over SSHcha插件。

Publish Over SSH插件使用介绍:

  

首先jenkins服务器需要安装Publish Over SSH插件

在jenkins页面“系统管理”-->“管理插件”-->"可选插件"中搜索Publish Over SSH插件选择并安装

安装完成后,重启下jenkins

注:也可以手动下载插件安装,到官网下载插件,然后将下载的插件传到服务器jenkins根目录下的plugins目录

即~/.jenkins/plugins目录,重启jenkins即可

官网插件下载地址https://wiki.jenkins-ci.org/display/JENKINS/Plugins

Publish Over SSH插件安装完成后,在“系统设置”中会出现“Publish Over SSH”的配置标签

ssh的配置可使用密钥,也可以使用密码,这里我们使用密钥来配置,在配置之前先配置好jenkins服务器和应用服务器的密钥认证

jenkins服务器上生成密钥对,使用ssh-keygen -t rsa命令

在~/.ssh/下会有私钥id_rsa和公钥id_rsa.pub

应用服务器上创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并将jenkins服务器的公钥id_rsa.pub中的内容复制到authorized_keys文件

应用服务器上重启ssh服务,service sshd restart

现在jenkins服务器可免密码直接登陆应用服务器

上面两个前提条件准备完毕之后,现在配置jenkins自动部署

在jenkins页面“系统管理”-->"系统设置"中的Publish Over SSH标签配置如下

Passphrase:密码(key的密码,如果你设置了)

Path to key:key文件(私钥)的路径

SSH Server Name:标识的名字(随便你取什么)

Hostname:需要连接ssh的主机名或ip地址,此处填写应用服务器IP(建议ip)

Username:用户名

Remote Directory:远程目录(根据需要填写文件传到此目录下)

“Use password authentication, or use a different key”:使用密码验证(这里使用了密钥认证所以不开启)

配置完成后可点击“Test Configuration”测试到目标主机的连接,出现”success“则成功连接

如果有多台应用服务器,可以点击”增加“,配置多个“SSH Servers”

点击“保存”以保存配置

系统配置好ssh连接后,到项目配置中配置构建后发布的步骤

点击(项目名“fin_test1”–>左侧菜单的“配置”)来更改项目的配置

在配置最后找到“增加构建后操作步骤”,选择"Send build artifacts over SSH"

然后在"Send build artifacts over SSH"模块中配置如下

SSH  Server Name:选个一个你在系统设置里配置的名字

Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)

Remove prefix:移除目录(只能指定Transfer Set Source files中的目录,这里移除了target目录表示只将FinServer.war传到目标服务器,否则会在目标服务器创建target目录)

Remote directory:远程目录(根据你的需求填写,这里没有填写默认会继承系统配置,即/mnt)

Exec command:把你要执行的命令写在里面(这里的命令是在目标服务器上执行的)

这里我们在应用服务器写好了脚本,内容如下:

当war包传到应用服务器,会执行此脚本自动部署

如需要传输多个war包,可点击“Add Transfer Set”,增加一个传输模块

如需要上传到多个“SSH Server”,可点击“Add Server”,增加一个服务器模块(系统设置中有多个“SSH Servers”)

点击”保存“,然后下次构建就会在构建完成后自动部署到应用服务器上

至此远程自动部署就可实现

使用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. Publish over SSH插件安装

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

  4. publish over ssh 实现 Jenkins 远程部署

    Jenkins远程部署,一开始没有任何头绪,想了很多方案. 因为两台机器都是windows系统,所以想到publish over cifs, 但是这个网上资料太少,貌似只能内网使用.又想到了Jenki ...

  5. Jenkins中Publish Over SSH插件使用

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

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

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

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

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

  8. Python Fabric远程自动部署简介

    Fabric是一个Python(2.5-2.7)库,用于简化使用SSH的应用程序部署或系统管理任务. 它提供的操作包括:执行本地或远程shell命令,上传/下载文件,以及其他辅助功能,如提示用户输入. ...

  9. Maven项目配置tomcat插件实现项目自动部署到远程服务器

    1.tomcat配置 在tomcat目录中的conf目录下找到tomcat-users.xml配置文件,然后搜索tomcat-users,进行tomcat用户的角色和权限配置,如下: <tomc ...

随机推荐

  1. Dede CMS如何在文章中增加“附件下载”操作说明

    1.进入后台--在"附件管理"中选择"上传新文件" 2.在"说明标题"输入要上传文件的名字,并在下面浏览找到要上传的文件,保存. 3.在&q ...

  2. Oracle ORA-39726压缩表删除字段处理方法

    今天在往一个压缩表增加一个字段可以增加成功,但在删除的时候报了个ORA-39726 unsupported add/drop column operation on compressed tables ...

  3. ecshop收货地址货到付款修改

    用户选择某些地址时,支付方式里则可以依据此地址来对货到付款选项进行显示或隐藏.目前仅与顺丰合作,以顺丰提供的数据为准. 使用到的数据库分别如下: ecs_region//地方数据,PRIMARY KE ...

  4. Jmeter元件运行顺序

    JMeter执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) 6.断言(如果存在 ...

  5. 学习 ES6,一篇文章就够了

    ES6 简介 ECMAScript 6 简称 ES6,是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了.它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程 ...

  6. redis 对象

    redis通过前面几篇的数据结构构键了一个对象系统,这个对象系统包含了字符串对象,列表对象,哈希对象,集合对象,有序集合对象 每一个对象都是一个redisobject typedef struct r ...

  7. CSS(3)实现水平垂直居中效果

    CSS实现水平垂直居中对齐 在CSS中实现水平居中,会比较简单.常见的,如果想实现inline元素或者inline-block元素水平居中,可以在其父级块级元素上设置text-align: cente ...

  8. Linux搭建SVN服务器(服务端)

    Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...

  9. GitBash学习1

    昨晚学了一点GitBash,建立库,向库里添加文件,对比修改的内容等等. 自己做了以下总结 git mkdir <dirname> //建立文件 git cd <dirname> ...

  10. Android使用OKHTTP解析JSON数据

    为了代码重用,我们首先封装一个类.这个类是HttpUtil HttpUtil.java package com.example.asus.networktest; import okhttp3.OkH ...