Jenkins Publish Over SSH插件实现远程发布

一、首先Jenkins服务器需要安装Publish Over SSH插件

Jenkins Publish Over SSH插件实现远程发布Jenkins Publish Over SSH插件实现远程发布


安装后需要重启Jenkins


二、使用**方式登录目标发布服务器

(1)在目标发布服务器上创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并将jenkins服务器的公钥id_rsa.pub中的内容复制到authorized_keys文件
目标发布服务器上重启ssh服务,service sshd restart
现在jenkins服务器可免密码直接登陆应用服务器
(2)配置Publish Over SSH
在jenkins页面“系统管理”-->"系统设置"中的Publish Over SSH标签配置如下

Jenkins Publish Over SSH插件实现远程发布

配置完成后可点击“Test Configuration”测试到目标主机的连接,出现”success“则成功连接
如果有多台应用服务器,可以点击”增加“,配置多个“SSH Servers” 点击“保存”以保存配置

三、使用用户名+密码方式登录目标发布服务器

(1)点击"高级"展开配置

Jenkins Publish Over SSH插件实现远程发布

(2)配置SSH的登陆密码

Jenkins Publish Over SSH插件实现远程发布

配置完成后可点击“Test Configuration”测试到目标主机的连接,出现”success“则成功连接
如果有多台应用服务器,可以点击”增加“,配置多个“SSH Servers” 点击“保存”以保存配置

参考:

前提

1、在Jenkins服务器生成SSH公钥

cd ~/.ssh

ssh-****** -t rsa -C "[email protected]"----xxx自己随便命名

Jenkins Publish Over SSH插件实现远程发布

此时将会在~/.ssh目录下,生成私钥和公钥

Jenkins Publish Over SSH插件实现远程发布

方法一

1、将公钥内容添加到gitblit

2、新建Job

Jenkins Publish Over SSH插件实现远程发布

说明:新建job的时候选择none即可,这时Jenkins会使用<HOME>/.ssh/id_rsa.pub的公钥到git服务器上进行认证。



方法二

1、在Jenkins上配置Credentials

在jenkins界面,依次点击: Credentials -> System -> Add domain:

Domain Name: 填写你git服务器的地址,如 [email protected]

Description: 随便写一点描述

Jenkins Publish Over SSH插件实现远程发布

Jenkins Publish Over SSH插件实现远程发布

双击domain列表的“[email protected]”,进入如下界面

Jenkins Publish Over SSH插件实现远程发布

点击左侧“ Add Credentials

Jenkins Publish Over SSH插件实现远程发布

Kind 选择 “ Username with private key

Jenkins Publish Over SSH插件实现远程发布

Username: 随便起一个名字,以便在创建 Job 的时候使用该 Credential

Private Key:可以指定文件,也可以使用默认的 ~/.ssh,当然也可以直接将私钥复制粘贴到此处。

Passphrase: 如果你在创建 ssh key 的时候输入了 Passphrase 那就填写相应的Passphrase,为空就不填


ID: 空

Description: 空

2、新建Job

Jenkins Publish Over SSH插件实现远程发布