当前位置: 首页 > news >正文

windows下 Jenkins 主从节点通过SSH连接

之前已经介绍了在windows下,Jenkins通过启动agent.jar文件来进行主从节点配置(传送门:Jenkins 主从节点配置教程(windows10)_jenkins windows节点_町棠棠的博客-CSDN博客icon-default.png?t=N2N8https://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博客icon-default.png?t=N2N8https://blog.csdn.net/qq_38328382/article/details/103731377

Windows 10 开启ssh服务_windows ssh_Mr.亮先生的博客-CSDN博客icon-default.png?t=N2N8https://blog.csdn.net/pariese/article/details/111604340

管理员身份运行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文件进行主从节点的连接

 

http://www.lryc.cn/news/56510.html

相关文章:

  • JAVA练习101-任务调度器
  • 华为OD机试-匿名信-2022Q4 A卷-Py/Java/JS
  • muduo源码剖析--Inetaddress/Socket/Acceptor
  • 域名过户操作流程及常见问题
  • 多国拟发ChatGPT禁令 关“野兽”的笼子要来了?
  • 深度学习中,Params参数量和FLOPs计算量分别指什么
  • 1分钟快速制作思维导图「ChatGPT+XMind」—— 跟上时代的脚步,这辈子就起飞了 - 第5篇
  • 生成与获取token
  • 【人工智能】ChatGTP从入门到精通
  • 电脑桌面图标间距突然变大怎么恢复
  • 详解各版本Web服务器限制请求体大小的方法
  • 二叉树_详解
  • LOTO示波器电源环路增益分析客户实测
  • Netty主要组件
  • Linux系统【centos7】常用基础命令教程
  • 【Redis学习】Redis入门概述
  • nodejs微服务:Consul集群
  • spring事务处理
  • 2023 年博客之星的入围规则
  • 【新2023Q2押题JAVA】华为OD机试 - 查找树中的元素 or 查找二叉树节点
  • MySQL 日志:undo log、redo log、binlog 有什么用?
  • ETL 与 ELT的关键区别
  • Thinkphp 6.0模版的杂项和表单令牌
  • linux常问
  • ToBeWritten之物联网MQTT、Z-Wave等协议
  • C# 行为型模式之责任链模式
  • layui实现请求前添加一个加载 loading 的效果,并在请求成功后关闭
  • iostat / sar 命令详解
  • 2023-04-06:拥抱Golang,优化FFmpeg音频编码器,探究encode_audio.c的内部结构。
  • 归排、计排深度理解