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