溫馨提示×

Debian環境下如何配置Jenkins代理

小樊
47
2025-10-14 14:57:46
欄目: 智能運維

1. 環境準備:安裝Java環境
在Debian系統的所有節點(主節點+代理節點)上,需先安裝Jenkins依賴的Java運行環境(推薦OpenJDK 11)。執行以下命令:

sudo apt update
sudo apt install openjdk-11-jdk
# 驗證Java安裝是否成功
java -version

確保輸出顯示Java版本為11或更高,否則Jenkins無法正常運行。

2. 配置Jenkins主節點
在主節點上完成Jenkins基礎安裝與環境配置:

  • 添加Jenkins官方APT源
    wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    sudo apt update
    
  • 安裝Jenkins
    sudo apt install jenkins
    
  • 啟動Jenkins服務
    sudo systemctl enable jenkins  # 設置開機自啟
    sudo systemctl start jenkins   # 立即啟動服務
    
  • 完成初始設置
    打開瀏覽器訪問http://<主節點IP>:8080,輸入/var/lib/jenkins/secrets/initialAdminPassword文件中的初始密碼,完成管理員賬號創建及插件安裝(默認推薦插件即可)。

3. 在主節點上創建Jenkins代理節點

  • 進入代理管理頁面
    登錄Jenkins主界面,點擊頂部導航欄Manage JenkinsManage Nodes and CloudsNew Node。
  • 配置代理基礎信息
    輸入代理節點名稱(如debian-agent-01),選擇Permanent Agent(永久代理,適合長期穩定運行的節點),點擊OK。
  • 設置節點屬性
    • Remote root directory:指定代理節點上的工作目錄(如/home/jenkins/agent),用于存放構建臨時文件與產物,需確保該目錄存在且有讀寫權限。
    • Labels:添加標簽(如debian、docker),方便后續任務通過標簽匹配代理節點(例如任務配置中指定Restrict where this project can be rundebian,則僅debian標簽的代理會執行該任務)。
  • 選擇啟動方法(推薦SSH方式,安全性更高):
    Launch method下拉框中選擇Launch agent via SSH,點擊Add SSH Server,填寫以下信息:
    • Host:代理節點的IP地址或域名;
    • Credentials:點擊Add,選擇SSH Username with private key,輸入代理節點的用戶名(如jenkins),并粘貼私鑰內容(私鑰需提前在代理節點上生成,如ssh-keygen -t rsa -b 4096,公鑰需添加到主節點的~/.ssh/authorized_keys中);
    • 點擊Test Connection,若顯示Success則表示連接正常。
  • 保存配置
    點擊Save,主節點會將代理節點信息同步至數據庫,等待代理節點上線。

4. 在代理節點上安裝并啟動Jenkins代理服務

  • 安裝Java環境(若未安裝):
    執行與主節點相同的Java安裝命令,確保版本一致。
  • 啟動SSH服務(若未啟用)
    sudo systemctl enable ssh
    sudo systemctl start ssh
    
  • 啟動Jenkins代理
    有兩種方式可選:
    • 方式一:通過Jenkins主界面啟動(適合手動測試):
      在主節點的代理管理頁面,選中剛創建的代理節點,點擊Launch agent,會自動下載agent.jar文件。在代理節點上執行以下命令(替換<主節點IP>為實際IP):
      java -jar agent.jar -jnlpUrl http://<主節點IP>:8080/computer/<代理節點名稱>/slave-agent.jnlp -secret <代理節點Secret> -workDir "/home/jenkins/agent"
      
      <代理節點Secret>可在主節點代理管理頁面的Credentials中查看)
    • 方式二:通過系統服務啟動(適合長期運行):
      在代理節點上創建systemd服務文件:
      sudo nano /etc/systemd/system/jenkins-agent.service
      
      寫入以下內容(替換<主節點IP>、<代理節點名稱>、<Secret>、<工作目錄>為實際值):
      [Unit]
      Description=Jenkins Agent
      After=network.target
      
      [Service]
      User=jenkins
      Group=jenkins
      ExecStart=/usr/bin/java -jar /home/jenkins/agent.jar -jnlpUrl http://<主節點IP>:8080/computer/<代理節點名稱>/slave-agent.jnlp -secret <Secret> -workDir "/home/jenkins/agent"
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      
      保存后啟動服務:
      sudo systemctl daemon-reload
      sudo systemctl start jenkins-agent
      sudo systemctl enable jenkins-agent  # 設置開機自啟
      
  • 驗證代理狀態
    在主節點的代理管理頁面,查看代理節點的狀態是否變為Online(在線),若為Idle(空閑)則表示代理已就緒。

5. 測試代理節點功能

  • 創建測試任務
    在Jenkins主界面點擊New Item,輸入任務名稱(如test-debian-agent),選擇Freestyle project,點擊OK。
  • 限制任務運行節點
    在任務配置頁面,找到Restrict where this project can be run選項,勾選該選項,輸入代理節點的標簽(如debian),點擊Save。
  • 添加構建步驟
    Build section點擊Add build stepExecute shell,輸入以下命令(測試代理節點的環境):
    echo "Hello from Debian Agent!"
    uname -a
    java -version
    
  • 運行任務
    點擊Build Now,查看任務執行日志。若日志中顯示上述命令的輸出結果,則說明代理節點配置成功,能正常接收并執行主節點分配的任務。

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