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标签)。