首页主机资讯Linux Jenkins如何实现分布式构建

Linux Jenkins如何实现分布式构建

时间2025-10-14 16:52:03发布访客分类主机资讯浏览553
导读:Linux环境下Jenkins实现分布式构建的完整步骤 1. 前置准备:安装Jenkins Master与Java环境 分布式构建的核心是Jenkins Master(主控节点,负责任务调度)和Slave节点(工作节点,负责执行任务)。首先...

Linux环境下Jenkins实现分布式构建的完整步骤

1. 前置准备:安装Jenkins Master与Java环境

分布式构建的核心是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,按提示完成初始设置(如解锁密码、管理员账号)。

2. 配置Jenkins Master:开启分布式构建支持

登录Jenkins Web界面,进入Manage Jenkins → Manage Nodes and Clouds,确认“Nodes”列表为空(初始状态)。此时Master已具备管理Slave节点的能力,后续需添加Slave节点。

3. 添加Slave节点:生成Agent并配置连接

3.1 在Master上创建Slave节点

点击Manage Nodes and Clouds → New Node,输入节点名称(如slave-node-01),选择Permanent Agent(永久节点,适合长期稳定运行),点击“OK”。

3.2 配置Slave节点参数

  • Remote root directory:设置Slave节点的工作目录(如/home/jenkins/agent,需提前创建并赋权chmod 755 /home/jenkins);
  • Number of executors:设置并行执行任务的数量(如2,表示该节点可同时运行2个任务);
  • Launch method:选择连接方式(常用Launch agent via SSH,安全且无需手动启动)。

4. 配置Slave节点连接:SSH方式(推荐)

若选择“Launch agent via SSH”,需完成以下步骤:

4.1 在Slave节点安装Java和Jenkins Agent

# 安装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/

4.2 在Master上配置SSH凭据

  1. 进入Manage Jenkins → Credentials,点击“System → Global credentials”;
  2. 点击“Add Credentials”,选择“SSH Username with private key”,输入Slave节点的用户名(如jenkins)和私钥(需提前在Slave节点生成:ssh-keygen -t rsa,并将公钥id_rsa.pub复制到Master的~/.ssh/authorized_keys)。

4.3 完成Slave节点配置

回到Slave节点配置页面,选择“SSH Username with private key”,填写:

  • Username:Slave节点的SSH用户名(如jenkins);
  • Private Key:选择“Enter directly”,粘贴Master的私钥内容;
  • Host:Slave节点的IP地址或域名;
  • Port:SSH端口(默认22);
    点击“Test Connection”,确认连接成功后保存。

5. 验证Slave节点状态

返回Manage Nodes and Clouds,查看Slave节点状态是否为Idle(空闲)。若状态为Online,说明连接成功。

6. 配置构建任务:分配给Slave节点

创建或编辑一个构建任务(如“test-pipeline”),在配置页面进行以下设置:

6.1 指定Slave节点

  • General → Restrict where this project can be run:勾选,输入Slave节点的标签(如linux-agent,需在Slave节点配置时设置);
  • 或通过Pipeline脚本指定:
    pipeline {
    
      agent {
    
        node {
    
          label 'linux-agent'  // 匹配Slave节点的标签
        }
    
      }
    
      stages {
    
        stage('Build') {
    
          steps {
    
            sh 'echo "Building on Linux Slave"'
            sh 'uname -a'       // 验证执行环境
          }
    
        }
    
      }
    
    }
        
    

6.2 添加构建步骤

根据项目需求添加Shell、Maven、Gradle等步骤(如sh 'mvn clean package')。

7. 启动构建并监控

点击“Build Now”,Jenkins会将任务分配给符合条件的Slave节点(如linux-agent)。在Build History中查看任务状态,点击“Console Output”可查看Slave节点的执行日志。

注意事项

  • 网络与权限:确保Master与Slave节点之间的网络互通(防火墙开放Jenkins端口8080和SSH端口22);
  • 资源分配:根据Slave节点的硬件配置(CPU、内存)调整Executors数量,避免过载;
  • 版本一致性:所有节点的Jenkins、Java、构建工具(如Maven、Gradle)版本需保持一致,防止兼容性问题;
  • 高可用性:建议配置多个Slave节点,通过标签实现任务负载均衡(如linux-agent-01linux-agent-02均打linux-agent标签)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux Jenkins如何实现分布式构建
本文地址: https://pptw.com/jishu/726021.html
Jenkins在Linux上如何实现持续部署 Linux虚拟机如何更新系统补丁

游客 回复需填写必要信息