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的話還是推薦第一種方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM