windows下 Jenkins 主从节点通过SSH连接
这次介绍在windows下,Jenkins通过SSH来进行主从节点连接配置
之前已经介绍了在windows下,Jenkins通过启动agent.jar文件来进行主从节点配置(传送门:Jenkins 主从节点配置教程(windows10)_jenkins windows节点_町棠棠的博客-CSDN博客https://blog.csdn.net/naturly/article/details/129819780?spm=1001.2014.3001.5501),这次介绍在windows下,Jenkins通过SSH来进行主从节点连接配置。
主机A 作为Jenkins主机点
主机B 作为Jenkins从节点
主机A,B在同一网段下,可以ping通
(可以直接看文末红色字体)
1 确保两台主机有SSH服务
可参考此文章:Windows 10 启动自带OpenSSH服务_兰以为佩的博客-CSDN博客https://blog.csdn.net/qq_38328382/article/details/103731377
管理员身份运行cmd,输入如下命令,可开启sshd服务
net start sshd
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连接时需要的密码。可以设置也可以不设置,不设置密码就直接回车。
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_我的征途是星辰大海。的博客-CSDN博客
2.3 测试连接
输入如下格式的命令,有密码的会提示输入密码,基本就完成A,B主机的SSH连接了
ssh 主机B的登录用户名@主机B的IP
3 windows下节点配置过程与问题
3.1 节点配置
(1) 点击+,新建节点
(2) 开始配置
远程工作目录在下面解释,先配置其他的
点击高级:
在windows下配置jenkins从节点中的java路径,应该使用正斜杠(/)而不是反斜杠(\),例如:C:/Program Files/Java/jdk1.8.0_211/bin/java。
最后保存就可以测试连接是否成功了。
3.2 远程工作目录
(1) 这种方式填,默认在主机B的C盘下创建Jenkins目录,(当节点连接成功,这个目录下会有remoting.jar生成),这样填写可以节点连接成功。
(2)若想放到C盘之外的盘,根据要求是可以填写如下的形式(注意时斜杆,不是反斜杠),但是这样会报错,连接失败:
Error: Unable to access jarfile remoting.jar
3.3 虽然远程工作目录填C盘可以SSH连接成功,但是当构建任务的时候,还是会出错:java.io.IOException: [ssh-agent] Could not find specified credentials
我猜测是因为无权限对C盘进行文件操作,还不太清楚,还在找解决办法。
但是看到有的文章说:
在linux下推荐使用SSH连接(应该就不会出现上面3.3的问题了吧)
在windows下推荐使用启动agent.jar文件进行主从节点的连接
更多推荐
所有评论(0)