Linux環境下Jenkins實現分布式構建的完整步驟
分布式構建的核心是Jenkins Master(主控節點,負責任務調度)和Slave節點(工作節點,負責執行任務)。首先需要在Master節點安裝Jenkins和Java(所有節點的Java版本需一致,推薦OpenJDK 11+):
# 更新系統并安裝OpenJDK 11
sudo apt update && sudo apt install -y openjdk-11-jdk # Debian/Ubuntu
sudo yum install -y java-11-openjdk-devel # CentOS/RHEL
# 下載并安裝Jenkins(以Debian為例)
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 && sudo apt install -y jenkins
# 啟動Jenkins服務
sudo systemctl start jenkins && sudo systemctl enable jenkins
訪問http://<master-ip>:8080
,按提示完成初始設置(如解鎖密碼、管理員賬號)。
登錄Jenkins Web界面,進入Manage Jenkins → Manage Nodes and Clouds,確認“Nodes”列表為空(初始狀態)。此時Master已具備管理Slave節點的能力,后續需添加Slave節點。
點擊Manage Nodes and Clouds → New Node,輸入節點名稱(如slave-node-01
),選擇Permanent Agent(永久節點,適合長期穩定運行),點擊“OK”。
/home/jenkins/agent
,需提前創建并賦權chmod 755 /home/jenkins
);2
,表示該節點可同時運行2個任務);若選擇“Launch agent via SSH”,需完成以下步驟:
# 安裝Java(同Master步驟)
sudo yum install -y java-11-openjdk-devel # CentOS示例
# 下載Jenkins Agent(確保版本與Master一致)
wget https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/latest/remoting.jar -P /home/jenkins/
jenkins
)和私鑰(需提前在Slave節點生成:ssh-keygen -t rsa
,并將公鑰id_rsa.pub
復制到Master的~/.ssh/authorized_keys
)。回到Slave節點配置頁面,選擇“SSH Username with private key”,填寫:
jenkins
);22
);返回Manage Nodes and Clouds,查看Slave節點狀態是否為Idle(空閑)。若狀態為Online,說明連接成功。
創建或編輯一個構建任務(如“test-pipeline”),在配置頁面進行以下設置:
linux-agent
,需在Slave節點配置時設置);pipeline {
agent {
node {
label 'linux-agent' // 匹配Slave節點的標簽
}
}
stages {
stage('Build') {
steps {
sh 'echo "Building on Linux Slave"'
sh 'uname -a' // 驗證執行環境
}
}
}
}
根據項目需求添加Shell、Maven、Gradle等步驟(如sh 'mvn clean package'
)。
點擊“Build Now”,Jenkins會將任務分配給符合條件的Slave節點(如linux-agent
)。在Build History中查看任務狀態,點擊“Console Output”可查看Slave節點的執行日志。
8080
和SSH端口22
);linux-agent-01
、linux-agent-02
均打linux-agent
標簽)。