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

一、配置ssh免秘钥登录 

        SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

1、基本用法

SSH主要用于远程登录。假定你要以用户名user,登录远程主机host,只要一条简单命令就可以了。

$ ssh user@host

如果本地用户名与远程用户名一致,登录时可以省略用户名

$ ssh host

SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。

$ ssh -p 2222 user@host

上面这条命令表示,ssh直接连接远程主机的2222端口。

2、ssh的免密码登录(基于密钥)

    2.1、在客户端生成一对密钥(公钥/私钥)
基于空口令生成一个新的ssh密钥,以实现无密码登录:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

参数说明:
-t 加密算法类型,这里是使用rsa算法
-P 指定私钥的密码,不需要可以不指定
-f 指定生成秘钥对保持的位置

    2.2、将客户端公钥发送到服务端(其他客户端),使用ssh-copy-id

用ssh-copy-id将公钥复制到远程机器中

$  ssh-copy-id -i .ssh/id_rsa.pub  用户名字@192.168.x.xxx

   2.3 登录远程机器不用输入密码

$  ssh 用户名字@192.168.x.xxx

二、安装Publish over SSH插件

      主界面——>系统管理——>管理插件——>可选插件——>右上角过滤框中输入“Publish over SSH”——>勾选安装

三、插件配置

      主界面——>系统管理——>系统设置——>Publish over SSH

参数说明

Passphrase:SSH的密码

创建ssh key时指定,本文创建ssh key时默认为空。故,此处为空,不填写。

Path to key:SSH私钥的文件路径

私钥文件的路径,可以是绝对路径,也可以是相对$JENKINS_HOME的相对路径

Key:私钥

私钥导出后的文本内容

如果“Key”和“Path to key”都设置,则“Key”的优先级较高

Disable exec:禁止在目标机上执行命令

SSH Server 配置

指定远程服务器的ip,存放目录。可以配置多个ssh server ,jenkins自动将打包成果发送到多个远程服务器

参数说明

Name

SSH节点配置的名称,在Job中使用Publish over SSH插件时,此名称将出现在“SSH Server”中“Name”的下拉列表中,如下图:

Hostname

通过SSH连接到的机器的主机名或IP

Username

SSH服务使用的用户名,使用key进行连接时为key指定的用户名

Remote Derictory

运程机器上真实存在的目录,并且“Username”指定的用户要有访问此目录的权限,插件将把文件传送到此目录下。

配置完成后,可以 通过 “Test Configuration” 测试是否配置正确。

四、构建配置

参数说明

Name:

下拉选择一个 系统设置已配置的名字。

Transfer Set Source files:

需要上传的文件(注意:相对于工作空间根目录。

工作区根目录配置:系统管理->系统设置->主目录->高级->工作空间根目录

看后面的配置可以填写多个,默认用,分隔,)

target/maven-run-main-class-1.0-SNAPSHOT.jar

Remove prefix:

Source files”配置的路径中要移除的前缀

即: target

Remote directory:

远程目录,此目录是相对于“SSH Server”中的“Remote directory”的,如果不存在将会自动创建。

Exec command:

通过ssh连接远程服务器后,在远程服务器上执行的脚本。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值