jenkins windows从节点配置 jenkins添加ssh节点_用户名

),这次介绍在windows下,Jenkins通过SSH来进行主从节点连接配置。

主机A    作为Jenkins主机点

主机B   作为Jenkins从节点

主机A,B在同一网段下,可以ping通

可以直接看文末红色字体

1 确保两台主机有SSH服务


jenkins windows从节点配置 jenkins添加ssh节点_用户名

管理员身份运行cmd,输入如下命令,可开启sshd服务

net start sshd

jenkins windows从节点配置 jenkins添加ssh节点_java_03

  

2  两台主机A,B通过SSH公钥连接

2.1 公钥生成

在jenkins主机点即主机A上,win+R,打开终端,生成一对ssh的公钥和私钥文件,输入如下命令,会提示公钥和私钥文件的路径(保存在  C:\Users\主机A用户名/.ssh/id_rsa.pub. ):

ssh-keygen -t rsa

Enter passphrase是指输入SSH连接时需要的密码。可以设置也可以不设置,不设置密码就直接回车。 

jenkins windows从节点配置 jenkins添加ssh节点_java_04

2.2 将主机A产生的公钥“复制”到 主机B上

ssh-copy-id -i id_rsa.pub 主机B的登录用户名@主机B的IP
如:ssh-copy-id -i id_rsa.pub helloworld@10.103.48.211

此时可能会出错:

(1)connect to host port 22 connection refused

ssh服务没有开启,打开即可:

net start sshd

(2)ssh-copy-id 不是内部或外部命令

很有效的解决方案,传送门:

windows无法使用ssh-copy-id解决办法。_ssh-copy-id windows_我的征途是星辰大海。的博客

2.3 测试连接

输入如下格式的命令,有密码的会提示输入密码,基本就完成A,B主机的SSH连接了

ssh 主机B的登录用户名@主机B的IP

3 windows下节点配置过程与问题

3.1 节点配置

(1) 点击+,新建节点 

jenkins windows从节点配置 jenkins添加ssh节点_Jenkins_05

jenkins windows从节点配置 jenkins添加ssh节点_java_06

 (2) 开始配置

jenkins windows从节点配置 jenkins添加ssh节点_Jenkins_07

远程工作目录在下面解释,先配置其他的

jenkins windows从节点配置 jenkins添加ssh节点_ssh_08

 

 

jenkins windows从节点配置 jenkins添加ssh节点_用户名_09

 

 

jenkins windows从节点配置 jenkins添加ssh节点_jenkins_10

 点击高级:

在windows下配置jenkins从节点中的java路径,应该使用正斜杠(/)而不是反斜杠(\),例如:C:/Program Files/Java/jdk1.8.0_211/bin/java。

jenkins windows从节点配置 jenkins添加ssh节点_用户名_11

 

jenkins windows从节点配置 jenkins添加ssh节点_用户名_12

 

 最后保存就可以测试连接是否成功了。

3.2 远程工作目录

(1) 这种方式填,默认在主机B的C盘下创建Jenkins目录,(当节点连接成功,这个目录下会有remoting.jar生成),这样填写可以节点连接成功。

jenkins windows从节点配置 jenkins添加ssh节点_jenkins_13

jenkins windows从节点配置 jenkins添加ssh节点_Jenkins_14

 

 (2)若想放到C盘之外的盘,根据要求是可以填写如下的形式(注意时斜杆,不是反斜杠),但是这样会报错,连接失败:

 Error: Unable to access jarfile remoting.jar

jenkins windows从节点配置 jenkins添加ssh节点_java_15

jenkins windows从节点配置 jenkins添加ssh节点_用户名_16

 3.3 虽然远程工作目录填C盘可以SSH连接成功,但是当构建任务的时候,还是会出错:java.io.IOException: [ssh-agent] Could not find specified credentials

jenkins windows从节点配置 jenkins添加ssh节点_用户名_17

 

 我猜测是因为无权限对C盘进行文件操作,还不太清楚,还在找解决办法。

但是看到有的文章说:

在linux下推荐使用SSH连接(应该就不会出现上面3.3的问题了吧)

在windows下推荐使用启动agent.jar文件进行主从节点的连接