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

Jenkins如何在CentOS上实现分布式构建

时间2025-10-15 22:10:03发布访客分类主机资讯浏览1385
导读:1. 环境准备 确保所有CentOS节点(Master/Slave)满足以下条件: 安装Java 8+(Jenkins依赖Java运行):sudo yum install -y java-1.8.0-openjdk-devel; 节点间网...

1. 环境准备

确保所有CentOS节点(Master/Slave)满足以下条件:

  • 安装Java 8+(Jenkins依赖Java运行):sudo yum install -y java-1.8.0-openjdk-devel
  • 节点间网络互通(Master能通过SSH访问Slave,或Slave能访问Master的8080端口);
  • 关闭防火墙或放行必要端口(Jenkins默认8080,SSH默认22):sudo systemctl stop firewalld(临时关闭)或配置firewall-cmd放行端口。

2. 安装Jenkins Master

在Master节点上通过YUM仓库安装Jenkins(官方稳定源):

# 添加Jenkins官方仓库
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 -y jenkins
# 启动并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins

访问http://< Master_IP> :8080,按提示完成初始设置(输入管理员密码、创建管理员账号)。

3. 配置Jenkins Master

登录Master节点的Jenkins Web界面,完成以下配置:

  • 安装必要插件:进入“Manage Jenkins”→“Manage Plugins”,搜索并安装Node and Label Parameter(用于节点选择)、Pipeline(可选,用于流水线任务)等插件;
  • 全局工具配置:进入“Manage Jenkins”→“Global Tool Configuration”,设置Java、Maven等工具的环境变量(确保所有Slave节点工具版本一致)。

4. 添加Slave节点

4.1 在Master上创建Slave节点

进入“Manage Jenkins”→“Manage Nodes and Clouds”→“New Node”:

  • 输入节点名称(如centos-slave1);
  • 选择节点类型为Permanent Agent(永久节点,适合长期稳定运行);
  • 配置节点信息:
    • 远程工作目录:设置Slave节点上的工作目录(如/home/jenkins/agent,需提前创建);
    • 启动方法:选择Launch agent via SSH(推荐,安全且自动化);
      • 点击“Add”添加SSH凭据(选择“SSH Username with private key”,输入Slave节点的用户名(如jenkins),并粘贴Slave节点的私钥);
      • 输入Slave节点的IP地址和SSH端口(默认22);
  • 点击“Save”保存配置。

4.2 在Slave节点上准备Jenkins Agent

  • 安装Java:同Master节点,确保Java 8+已安装;
  • 创建工作目录mkdir -p /home/jenkins/agent
  • 启动Agent
    • 方法1:若Master生成了agent.jar链接(如http://< Master_IP> :8080/computer/< Node_Name> /slave-agent.jnlp),下载后运行:
      java -jar /path/to/agent.jar -jnlpUrl http://<
          Master_IP>
          :8080/computer/<
          Node_Name>
          /slave-agent.jnlp -secret <
          Your_Secret>
       -workDir "/home/jenkins/agent"
      
    • 方法2:若使用SSH启动(推荐),无需手动下载agent.jar,Master会自动推送并启动Agent。

5. 验证Slave节点连接

回到Master节点的Jenkins界面,进入“Manage Jenkins”→“Manage Nodes and Clouds”,查看Slave节点状态:

  • 若状态显示为Online(在线),说明连接成功;
  • 若状态为Offline(离线),检查Slave节点的网络连通性、SSH凭据是否正确、工作目录权限(需Slave用户有读写权限)。

6. 配置分布式构建任务

创建或编辑一个构建任务,配置使用Slave节点:

  • 方式1:通过标签选择节点(推荐,灵活分配任务):
    • 在任务配置页面,勾选“Restrict where this project can be run”;
    • 输入Slave节点的标签(如linux,需在Slave节点配置时设置);
    • 示例Pipeline脚本:
      pipeline {
      
          agent {
      
              node {
      
                  label 'centos-slave1'  // 指定Slave节点标签
              }
      
          }
      
          stages {
      
              stage('Test on Slave') {
      
                  steps {
      
                      echo "Running on ${
      env.NODE_NAME}
      "
                      sh 'uname -a'  // 执行Shell命令
                  }
      
              }
      
          }
      
      }
          
      
  • 方式2:通过参数选择节点
    • 安装“Node and Label Parameter”插件;
    • 在任务配置中添加“Node”参数,列出所有可用Slave节点;
    • 构建时手动选择节点。

7. 验证分布式构建

触发构建任务(手动或自动),观察Master节点的“Build History”:

  • 点击构建记录,进入“Console Output”,查看任务是否在指定的Slave节点上执行(如Running on centos-slave1);
  • 登录Slave节点,检查工作目录(如/home/jenkins/agent)是否有构建生成的文件(如日志、编译产物)。

8. 可选:优化分布式构建

  • 设置节点标签:为不同Slave节点设置标签(如dockermaven),便于任务按需分配;
  • 配置环境变量:在Slave节点的“Node Properties”中添加环境变量(如JAVA_HOME),确保任务运行环境一致;
  • 监控节点状态:通过Jenkins的“Monitoring”插件(如“Node Usage”)监控Slave节点的资源使用情况(CPU、内存),及时扩展节点。

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


若转载请注明出处: Jenkins如何在CentOS上实现分布式构建
本文地址: https://pptw.com/jishu/727452.html
CentOS Jenkins配置中如何优化网络设置 如何在CentOS上配置Jenkins监控与报警

游客 回复需填写必要信息