首页主机资讯如何在centos上进行jenkins集群部署

如何在centos上进行jenkins集群部署

时间2026-01-19 17:27:04发布访客分类主机资讯浏览1397
导读:在 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
  • 安装 Jenkins(推荐在 Master 节点)
    • YUM 在线安装:sudo yum install -y jenkins java-11-openjdk-devel & & sudo systemctl enable --now jenkins
    • 访问:http://< MASTER_IP> :8080
  • 防火墙放行
    • sudo firewall-cmd --permanent --add-port=8080/tcp
    • sudo firewall-cmd --permanent --add-port=50000/tcp
    • sudo firewall-cmd --reload
  • 节点互通
    • 建议 Master 与所有 Agent 之间可通过 SSH 免密互通(便于后续以 SSH 方式接入节点):ssh-keygen & & ssh-copy-id < AGENT_USER> @< AGENT_IP>

三 添加与管理 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,随后节点应显示在线。
  • 方式 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
jenkins在centos上的版本选择建议 centos dolphin日志文件在哪查看

游客 回复需填写必要信息