jenkins分布式master-slave的配置|ssh、command两种slave连接方式

———————————————————ssh方式配置,需要slave有公网IP或者支持ssh链接—————————————————————————————————

搞到现在。。。。太坑了

吃柠檬的一个报错浪费我一天。

/var/jenkins_home/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.

  

前提:slave和master能ping通,能建立ssh连接。

 

1.我的master在服务器A上,我的slave在服务器B上,两者都装了jenkins,master的jenkins是docker装的。

master的配置如下:

 

 几个重点框出来了。第一个是登录slave机的账号密码,不需要root,也可以用其他的有对应的文件夹权限的账号。第二个只能选这个,选其他的ssh会一直说在knownhost里面找不到。我不是很懂为什么找不到。我明明已经手动搞进去了。第三个是slave机的java_home+/bin/java。一定要这么配置,不然会说找不到jvm。

 

配置成功结果:

 

 

 

 

————————————————————————————command/javaweb方式,需要slave支持javaws————————————————————————————

# 1.slave界面连接方式先选javaweb保存

 

 

 

 

# 2.下载框1的slave-agent.jnlp,并点击启动(或者javaws命令行启动,该应用是一个javaweb启动的服务应用,是一个小型的server端,用来接收agent发送的消息。该服务如果关掉,master就无法链接到slave了)

 

 

 

 # 3. 下载agent.jar,存入对应的jenkins服务机器的地址中,我存入的是/home,具体过程不演示。

 

# 4. 复制图二的java -jar命令,返回到节点设置,选择command启动,然后输入该命令。这里agent.jar的地址,是你存入的jenkins启动的机器的地址(docker的话可以cp进去对应的目录,或者进入docker容器wget一下链接也可以)

 

 ————————————————————————————总结————————————————————————————————

ssh链接比较稳定,jnlp服务的话要一直启动,我试了一次半个多小时就断了,有公网IP的话还是推荐第一种方法。

 

posted @ 2020-03-09 01:43  头鹰在学习  阅读(1394)  评论(0编辑  收藏  举报