溫馨提示×

CentOS Jenkins如何搭建分布式構建

小樊
42
2025-10-01 00:09:32
欄目: 智能運維

CentOS環境下Jenkins分布式構建搭建指南

一、環境準備

  1. 基礎要求:至少準備2臺CentOS 7.x/8.x服務器(1臺作為Master,1臺及以上作為Slave),每臺服務器需滿足:

    • 至少1GB內存、50GB磁盤空間;
    • 已安裝JDK 1.8+(java -version驗證);
    • 服務器之間網絡互通(關閉防火墻或放行Jenkins相關端口,默認Master端口為8080,Slave端口為50000)。
  2. Master節點安裝Jenkins

    • 添加Jenkins YUM倉庫并導入密鑰:
      sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
      sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
      
    • 安裝Jenkins并啟動服務:
      sudo yum install jenkins -y
      sudo systemctl start jenkins
      sudo systemctl enable jenkins
      
    • 訪問Master節點IP:8080,完成初始設置(輸入管理員密碼、創建管理員賬號)。

二、配置Master節點

  1. 安裝必要插件
    登錄Jenkins Web界面→點擊“Manage Jenkins”→“Manage Plugins”→“Available”,搜索并安裝以下插件:

    • Node and Cloud Management(基礎節點管理);
    • SSH Slaves(SSH方式連接Slave,推薦);
    • Docker Pipeline/Kubernetes(可選,用于容器化Slave擴展)。
  2. 配置全局工具(可選但建議)
    進入“Manage Jenkins”→“Global Tool Configuration”,設置Java、Maven等工具的環境變量(如JDK路徑、Maven版本),確保Slave節點能復用統一工具鏈。

三、添加Slave節點

方式1:SSH方式(推薦,安全便捷)

  1. Slave節點準備

    • 安裝Java(同Master節點要求);
    • 創建專用用戶(如jenkins)并設置密碼:
      sudo adduser jenkins
      sudo passwd jenkins
      
    • 配置SSH免密登錄(Master→Slave):
      • Master節點生成SSH密鑰:ssh-keygen -t rsa(默認路徑~/.ssh/id_rsa);
      • 將公鑰復制到Slave節點:ssh-copy-id jenkins@slave_ip;
      • 測試免密登錄:ssh jenkins@slave_ip。
  2. Master添加Slave節點

    • 進入“Manage Jenkins”→“Manage Nodes and Clouds”→“New Node”;
    • 輸入節點名稱(如slave01),選擇“Permanent Agent”,點擊“OK”;
    • 配置節點參數:
      • Remote root directory:Slave節點的工作目錄(如/home/jenkins/jenkins_agent);
      • Labels:節點標簽(如linux、maven,用于任務匹配,多個標簽用空格分隔);
      • Number of executors:并發構建數(根據Slave資源設置,如2);
      • Launch method:選擇“Launch agents via SSH”;
      • Credentials:添加Slave節點的SSH憑據(用戶名jenkins,私鑰選擇Master節點~/.ssh/id_rsa);
    • 點擊“Save”。

方式2:Java Web Start(適合臨時測試)

  1. Master節點添加Slave節點(同上,選擇“Permanent Agent”);
  2. 配置節點時,Launch method選擇“Launch agent via Java Web Start”;
  3. 保存后,Master會生成一個JNLP鏈接(如http://master_ip:8080/computer/slave01/slave-agent.jnlp);
  4. 在Slave節點上打開瀏覽器訪問該鏈接,下載并運行slave-agent.jnlp文件(需安裝Java運行時)。

四、驗證分布式構建

  1. 檢查Slave節點狀態
    登錄Master節點Jenkins界面→“Manage Jenkins”→“Manage Nodes and Clouds”,查看Slave節點是否顯示“Idle”(空閑)狀態。

  2. 創建分布式構建任務

    • 點擊“New Item”→輸入任務名稱(如distributed-test)→選擇“Freestyle project”→“OK”;
    • 配置任務:
      • Restrict where this project can be run:勾選,在“Label Expression”中輸入Slave節點的標簽(如linux);
      • Build Steps:添加Shell命令(如echo "Running on $(hostname)" && sleep 30);
    • 點擊“Save”并觸發構建(手動或定時)。
  3. 查看構建結果
    構建觸發后,在任務頁面的“Build History”中點擊最新構建,進入“Console Output”,若看到Slave節點的主機名輸出,說明分布式構建成功。

五、高級配置(可選)

  1. 負載均衡與高可用

    • 安裝“Load Balancer”插件,配置多個Master節點實現請求分發;
    • 使用Kubernetes插件,將Slave節點部署為動態Pod(需提前搭建Kubernetes集群),實現Slave的彈性伸縮。
  2. Slave節點管理

    • 限制Slave節點運行的任務類型(如僅運行Maven項目):在Slave配置的“Usage”中選擇“Only build jobs with label expressions matching this node”;
    • 設置Slave節點的閑置超時時間(如30分鐘無任務則自動離線):在Slave配置的“Idle termination minutes”中設置。

通過以上步驟,即可在CentOS環境下搭建Jenkins分布式構建環境,充分利用多臺機器的資源提升構建效率。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女