Jenkins master slave設置遇到的坑以及解決辦法


寫好了selenium測試腳本,本地運行沒問題,但是現在流行分布式運行,並行執行以顯得高大上。

然而,裝高大上是要付出代價的。

Selenium Grid 已經完美實現分布式和並行了。

奈何現在會Jenkins就顯得牛B了,你不顯擺一下jenkins面試官就會覺得你很low.

有些喜歡空談理論的面試官還特么問你什么是CI 什么是CD。

(呵呵,就不明白了,這些空洞理論上的東西有什么鳥用,你知道CI/CD又如何? 知道了就能寫出代碼嗎?幼稚!)

好吧,你特么喜歡空談理論,那么陪你吹吹牛也無所謂,不能被理論家看不起。

 

步入正題,談談這些jenkins master-slave配置的坑。

Step 1:在Jenkins的manage node新建一個node,這個node就是一台當作slave機器的電腦,真機虛擬機都行。

建立node只需要取個名字就這么簡單,建好之后,這個slave有個紅色的X.

因為我們的master機器和slave機器還不能通信。需要對剛才建立的slave節點繼續配置。

按照大家的提供的方法,在slave 的lunch method選項里:

應該有 Lanch agen via Java Web Start 這個選項。

然而,我的slave里面並沒有這個選項?問題出在哪里?

 

Step 2: 去 Configure global security [配置全局安全] 里面找到Agents。

可見,默認是disabled,把disbaled改成 random,大神們都是這樣干的。

(有埋伏,詳見第七步!!!)

 

Step 3: 回到salve的配置,可見"Lanch agen via Java Web Start"這個選項神奇般的出現了。
驚不驚喜!

 

Step 4:繼續配置,這部不解釋,大家都懂。

 

Step 5:到這一步,slave機器還是有個紅色的X。點擊這個這個"Lunch"按鈕,下載JNLP配置文件。

 

Step 6:把下載過來的JNLP配置文件拷貝到Slave機器里面去,愉快的運行剛才下載的JNLP配置文件.

 

Step 7:報錯,錯在哪?我想到了端口問題,54826這個端口是隨機生成的,每次運行JNLP都會隨機生成不同的端口。
很明顯,這些隨機生成的端口被防火牆阻擋了,然而我有不可能把防火牆上所有的端口都打開或者關閉防火牆。
關閉防火牆?納尼,我的Windows Server 2019 DC才不同意呢。
那么:只能固定端口了。
所以在第二步,那些大神選擇 “Random”選項,在這里行不通,得用FIXED固定端口。然后在防火牆里面開發這個端口。

 

Step 8:在防火牆開放端口后再運行JNLP文件,可見成功"Connected".

Jenkins這個怪蜀黍也在對我微笑了。


免責聲明!

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



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