jenkins-master-slave節點配置總結


一、jenkins分布式簡單介紹

Jenkins是一個開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟件平台,使軟件的持續集成變成可能

 

二、jenkins工作原理

 

 

 選擇Gitlab作為git server。Gitlab的功能和Github差不多,但是是開源的,可以用來搭建私有git server,也提供非常強大的web GUI,比如開發者互相review源代碼的時候就會很方便。

系統的工作流程大概分為以下幾步:

1> 開發者將新版本push到git server (Gitlab)。

2> Gitlab隨后觸發jenkins master結點進行一次build。(通過web hook或者定時檢測)

3> jenkins master結點將這個build任務分配給若干個注冊的slave結點中的一個,這個slave結點根據一個事先設置好的腳本進行build。這個腳本可以做的事情很多,比如編譯,測試,生成測試報告等等。這些原本需要手動完成的任務都可以交給jenkins來做。

4> 我們在build中要進行編譯,這里使用了分布式編譯器distcc來加快編譯速度。

 

三、jenkins 主從配置

  1、環境介紹

  jenkins 版本:2.204.1

  jenkins master部署與window7,slave節點為linux

  2、jenkins主從配置

  Manage Jenkins-》Mange Nodes-》

 

 

   新建節點

    節點名稱:隨便寫,為了快速區分可以master或slave+響應IP區分開

 

 

 

  配置節點:

     名稱:定義slave的唯一名稱標識,可以是任意字符串,通常設置為slave主機名、ip地址

     描述:關於slave的描述,通常用於描述與其它salve的區別

    可執行器數量:這個值控制着Jenkins並發構建的數量. 因此這個值會影響Jenkins系統的負載壓力. 使用處理器個數作為其值會是比較好的選擇。

增大這個值會使每個構建的運行時間更長,但是這能夠增大整體的構建數量,因為當一個項目在等待I/O時它允許CPU去構建另一個項目。

設置這個值為0對於從Jenkins移除一個失效的從節點非常有用,並且不會丟失配置信息

    遠程工作目錄:

      指定slave的工作目錄路徑(提前在slave節點建好路徑)。最好設置為絕對路徑,如“/var/jenkins”或“c:\jenkins”。這里填寫的是相對於slave主機的路徑,正常情況下,不必對master主機可見

    用法:

      盡可能的使用這個節點:

        這是默認和常用的設置. 在這種模式下,Jenkins會盡可能的使用這個節點.任何時候如果一個構建能使用這個節點構建,那么Jenkins就會使用它.

      只允許運行綁定到這台機器的Job

        Jenkins只會構建哪些分配到這台機器的Job. 這允許一個節點專門保留給某種類型的Job.例如,在Jenkins上連續的執行測試,你可以設置執行者數量為1,那么同一時間就只會有一個構建, 一個實行者不會阻止其它構建,其它構建會在另外的節點運行.個

    啟用方式:

      launch agent agents via ssh:通過ssh啟動代理

      launch agent by connecting it to the master:啟動代理程序,將其連接到主服務器

      launch agent via execution of command on the master:通過執行主機上的命令來啟動代理

      let jenkins control this windows agent as a windows service:讓jenkins作為一個windows服務來控制這個windows代理

    

 

 

 

     保存節點后,顯示如下:

 

 

     點擊launch下載slave-agent.jnlp和agent.jar包,並上傳slave節點服務器且啟動

    執行命令須從上復制:java -jar agent.jar -jnlpUrl http://XXX.XXX.XXX.XXX:8080/computer/XXX/slave-agent.jnlp -secret 19b1c0348b0312ffa16e5eca13dc9eb28258f2f8701ce94e90f33b4846312b5e -workDir "/data/jenkins" &

    設置后台運行,如果顯示出現connected 表示slave啟動成功,如下

 

 

     此刻新建slave節點應該就顯示在線:

    

  3、遇到問題及解決方法

    參考鏈接:

https://www.cnblogs.com/lxs1314/p/7551309.html
https://www.cnblogs.com/majestyking/p/10421492.html
https://www.cnblogs.com/zndxall/p/8297356.html
https://cloud.tencent.com/developer/article/1087020

  遇到的坑還的自己填自己多總結多回顧、、、、


免責聲明!

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



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