這篇文章主要介紹“怎么快速搭建Jenkins集群”,在日常操作中,相信很多人在怎么快速搭建Jenkins集群問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么快速搭建Jenkins集群”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司提供網(wǎng)站設(shè)計和自適應(yīng)建站服務(wù)。團隊由有經(jīng)驗的網(wǎng)頁設(shè)計師、程序員和市場專家組成,能夠提供從H5網(wǎng)站設(shè)計,網(wǎng)站制作,一元廣告,模板建站到小程序開發(fā)等全方位服務(wù)。 以客戶為中心,致力于為客戶提供創(chuàng)新、高效的解決方案,幫助您打造成功的企業(yè)網(wǎng)站。
在Jenkins上同時執(zhí)行多個任務(wù)時,單機性能可能達到瓶頸,使用Jenkins集群可以有效的解決此問題,讓多臺機器同時處理這些任務(wù)可以將壓力分散,對單機版Jenkins的單點故障的隱患也有分散作用,今天就來實戰(zhàn)快速搭建Jenkins集群,Jenkins版本是2.190.2;
通過Docker可以省去大部分準(zhǔn)備工作,您只需在Linux電腦上安裝docker,在輔以少量命令和操作即可完成集群搭建;
本次實戰(zhàn)的環(huán)境一共要用三臺電腦,它們的設(shè)置都是一樣的,如下:
操作系統(tǒng):CentOS Linux release 7.6.1810
防火墻關(guān)閉
docker:1.13.1
三臺電腦的信息如下: | 主機名 | IP地址 | 作用 | |--|--|--| | master | 192.168.133.131 | Jenkins集群的master節(jié)點,提供web服務(wù) | | agent1 | 192.168.133.132 | Jenkins集群的一號工作接節(jié)點,標(biāo)簽是maven | | agent2 | 192.168.133.133 | Jenkins集群的二號工作接節(jié)點,標(biāo)簽是gradle |
建議agent2節(jié)點的內(nèi)存大于4G,因為下一篇的實戰(zhàn)操作會用agent2編譯構(gòu)建spring-framework,對內(nèi)存的需求略大;
后面的所有操作都是root賬號;
在每臺電腦上創(chuàng)建文件夾/usr/local/jenkins
登錄master機器,執(zhí)行以下命令:
docker run \ -u root \ -idt \ --name master \ -p 8080:8080 \ -p 50000:50000 \ -v /usr/local/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean:1.19.0
執(zhí)行docker logs master,會在控制臺顯示jenkins的登錄秘鑰,如下圖紅框所示:
瀏覽器輸入地址:http://192.168.133.131:8080 ,顯示Jenkins登錄頁面,如下圖所示,在紅框位置輸入剛才復(fù)制的登錄秘鑰即可登錄:
選擇安裝推薦的插件:
靜候插件在線安裝完成:
接下來是創(chuàng)建管理員和使用實例url的操作,這里就不多說了,您按實際情況自行斟酌;
至此,Jenkins的master已經(jīng)搭建好,接下來將agent1和agent2作為工作節(jié)點加入集群;
在Jenkins網(wǎng)頁上新增節(jié)點,操作如下圖,先進入節(jié)點管理頁面:
如下圖,新增一個節(jié)點,名為agent1:
接下來的節(jié)點詳情信息如下圖,注意四個紅框中的內(nèi)容要和圖中保持一致:
保存成功后會顯示機器列表,如下圖,圖標(biāo)上的紅叉表示機器不在線(此時agent1還沒有接入),點擊紅框:
如下圖所示,紅框中的命令就是agent1的啟動命令,執(zhí)行該命令的機器會以agent1的身份加入集群:
注意上圖紅框中的agent.jar是個名為agent.jar的文件的下載鏈接,將此文件下載到agent1電腦的/usr/local/jenkins目錄下;
ssh登錄agent1電腦,執(zhí)行以下命令,即可將agent1加入Jenkins集群:
docker run \ -u root \ -idt \ --name agent \ -v /usr/local/jenkins:/usr/local/jenkins \ bolingcavalry/openjdk-with-sshpass:8u232 \ java -jar /usr/local/jenkins/agent.jar \ -jnlpUrl http://192.168.133.131:8080/computer/agent1/slave-agent.jnlp \ -secret 44c3e8d1531754b8655b53294bbde6dd99b3aaa91a250092d0d3425534ae1058 \ -workDir "/usr/local/jenkins"
上述命令中的后半部分,即java -jar ......就是前面圖片紅框中的agent1啟動命令,唯一要改變的是將agent.jar改成絕對路徑/usr/local/jenkins/agent.jar 8. 上述命令的鏡像是bolingcavalry/openjdk-with-sshpass:8u232,其Dockerfile內(nèi)容如下,可見非常簡單,就是OpenJDK鏡像里面安裝了sshpass,這樣的容器可以在執(zhí)行ssh命令時帶上遠程機器的密碼,而不用等待用戶輸入密碼,這樣便于shell腳本執(zhí)行ssh命令:
FROM openjdk:8u232 ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install --assume-yes sshpass
去Jenkins的網(wǎng)頁上查看節(jié)點列表,如下圖,可見agent1已經(jīng)成功加入:
agent2加入集群的方式和agent1大部分是一樣的,只有以下兩點要注意:
在Jenkins頁面上創(chuàng)建節(jié)點,名稱是agent2
agent2的標(biāo)簽是gradle,如下圖紅框所示:
此時agent2也加入成功:
到此,關(guān)于“怎么快速搭建Jenkins集群”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享標(biāo)題:怎么快速搭建Jenkins集群
URL地址:http://weahome.cn/article/jssego.html