如何在centos上进行jenkins集群部署
导读:在 CentOS 上部署 Jenkins 集群 一 架构与准备 架构说明:采用 Master–Agent 模式,Master 负责调度与界面,Agent 负责执行构建;Agent 不需要安装完整的 Jenkins,只需 Java 与构建所...
在 CentOS 上部署 Jenkins 集群
一 架构与准备
- 架构说明:采用 Master–Agent 模式,Master 负责调度与界面,Agent 负责执行构建;Agent 不需要安装完整的 Jenkins,只需 Java 与构建所需工具(如 git、maven、JDK 等)。为提升可用性与扩展性,可在 Master 前放置 Nginx/HAProxy 做负载均衡与健康检查。Jenkins 2.x 建议使用 Java 11/17/21。防火墙需放行 TCP 8080(Web)与 TCP 50000(Agent 通信)。
二 安装与网络
- 安装 Java(所有节点)
- 示例(OpenJDK 11):
sudo yum install -y java-11-openjdk-devel
- 示例(OpenJDK 11):
- 安装 Jenkins(推荐在 Master 节点)
- YUM 在线安装:
sudo yum install -y jenkins java-11-openjdk-devel & & sudo systemctl enable --now jenkins - 访问:
http://< MASTER_IP> :8080
- YUM 在线安装:
- 防火墙放行
sudo firewall-cmd --permanent --add-port=8080/tcpsudo firewall-cmd --permanent --add-port=50000/tcpsudo firewall-cmd --reload
- 节点互通
- 建议 Master 与所有 Agent 之间可通过 SSH 免密互通(便于后续以 SSH 方式接入节点):
ssh-keygen & & ssh-copy-id < AGENT_USER> @< AGENT_IP>。
- 建议 Master 与所有 Agent 之间可通过 SSH 免密互通(便于后续以 SSH 方式接入节点):
三 添加与管理 Agent 节点
- 方式 A(推荐)——SSH 方式接入
- 在 Master:进入 Manage Jenkins → Manage Nodes and Clouds → New Node,类型选 Permanent Agent,填写:
- Name/Description
- # of executors(并发构建数)
- Remote root directory(如:/home/jenkins)
- Labels(如:linux、maven、docker)
- Usage:Use this node as much as possible
- Launch method:Launch agents via SSH
- 填写 Host、选择 Credentials(用户名/密码或私钥),保存后启动代理。
- 首次连接需确认 SSH Host Key,随后节点应显示在线。
- 在 Master:进入 Manage Jenkins → Manage Nodes and Clouds → New Node,类型选 Permanent Agent,填写:
- 方式 B——JNLP 方式接入
- 在 Master 新建节点后,页面会给出 agent.jar 下载链接与 JNLP URL/Secret。
- 在 Agent 上执行:
wget < AGENT_JAR_URL> -O /tmp/agent.jar - 启动:
java -jar /tmp/agent.jar -jnlpUrl < JNLP_URL> -secret < SECRET> -workDir "< AGENT_WORK_DIR> " - 如需后台运行,可用:
nohup java -jar /tmp/agent.jar -jnlpUrl < JNLP_URL> -secret < SECRET> -workDir "< AGENT_WORK_DIR> " &
- 节点环境准备
- 在对应 Agent 安装项目所需工具(如 git、maven、JDK),并确保与 Job 要求匹配;必要时在节点配置中设置 工具位置/环境变量,避免路径不一致导致构建失败。
四 高可用与扩展
- 前端负载均衡
- 部署 Nginx/HAProxy,对外暴露 8080,后端指向多个 Master(如启用多 Master 架构),并配置健康检查与会话保持,提升可用性与吞吐。
- 规模与标签
- 按职责为 Agent 打标签(如:maven、gradle、nodejs、docker),在 Job 配置中使用 Label Expression 选择目标节点,实现按标签调度与并行构建。
- 监控与备份
- 收集 Master/Agent 日志,结合 Prometheus + Grafana 做指标可视化;定期备份 JENKINS_HOME(插件、任务配置、构建历史)。
五 常见问题与快速排查
- 节点离线
- SSH 方式:检查 SSH 连通性、凭据、Host Key 验证;JNLP 方式:检查 JNLP URL/Secret、Java 版本、工作目录权限。
- 构建找不到命令
- 在对应 Agent 安装缺失工具(如 git/maven/jdk),或在节点配置中显式设置 工具位置/环境变量,确保与 Job 一致。
- 权限与目录
- 确保 远程工作目录(如 /home/jenkins)存在且 Jenkins 用户可写;必要时使用 sudo 或调整 目录属主/权限。
- 端口未放行
- 确认 8080/50000 已在 firewalld/安全组放行;云环境需同时检查 安全组规则。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在centos上进行jenkins集群部署
本文地址: https://pptw.com/jishu/785997.html
