当前位置:首页 > 工具 > 正文内容

Jenkins在Rocky Linux上的部署与Agent节点设置

访客 工具 2026年6月30日 1

Jenkins服务部署

系统环境信息

[root@localhost ~]# cat /etc/system-release
Rocky Linux release 9.4 (Blue Onyx)
[root@localhost ~]# uname -a
Linux localhost.localdomain 5.14.0-427.33.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 28 17:34:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

官方安装指南 https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos

软件包获取与安装

curl -o /etc/yum.repos.d/jenkins_repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum update -y
yum install fontconfig java-17-openjdk -y
yum install jenkins
systemctl daemon-reload

版本验证

[root@localhost ~]# java -version
openjdk version "17.0.12" 2024-07-16 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.12.0.7-1) (build 17.0.12+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.12.0.7-1) (build 17.0.12+7-LTS, mixed mode, sharing)
[root@localhost jenkins]# java -jar /usr/share/java/jenkins.war --version
2.462.1

网络环境配置

防火墙关闭

 systemctl stop firewalld
 systemctl disable firewalld

SELinux禁用

[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
[root@localhost ~]# reboot

服务启动与初始化

Jenkins服务配置

[root@localhost ~]# systemctl enable jenkins
Created symlink /etc/systemd/system/multi-user.target.wants/jenkins.service → /usr/lib/systemd/system/jenkins.service.
[root@localhost ~]# systemctl start jenkins
[root@localhost ~]# systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
     Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; preset: disabled)
     Active: active (running) since Mon 2024-09-02 10:36:06 CST; 8s ago
   Main PID: 42838 (java)

初始配置流程

  1. 访问 http://192.168.16.200:8080/
  2. 获取初始密码:cat /var/lib/jenkins/secrets/initialAdminPassword
  3. 插件选择:按需安装
  4. 创建管理员账户
  5. 完成初始化向导

Agent节点部署

主控节点配置

Jenkins管理界面操作: Dashboard → 管理节点 → 新建节点 → 输入名称并选择永久代理类型 → 配置参数

  • 节点名称:JenkinsAgent-Build01
  • 描述信息:构建代理节点 - 01
  • 执行器数量:5
  • 远程根目录:/opt/JenkinsAgent
  • 标签:build maven linux
  • 启动方式:由控制器发起连接
  • 在线状态:始终保持连接

端口配置 Dashboard → 管理节点 → TCP端口设置 → 固定端口12345

执行器数量调整 Dashboard → 节点 → 内置节点 → 配置 → 执行器数量设为0 注:主控节点通常不执行构建任务

代理节点配置

在主控节点获取执行命令: Dashboard → 管理节点 → JenkinsAgent-Build01

# Unix系统执行命令
mkdir /opt/JenkinsAgent
cd /opt
curl -sO http://192.168.16.200:8080/jnlpJars/agent.jar
java -jar agent.jar -url http://192.168.16.200:8080/ -secret 4e1e31e059bbb8248e90e07acace1d084b04756a62c253c1a0680c0b3513b75a -name "JenkinsAgent-Build01" -workDir "/opt/JenkinsAgent"

注:每次主控节点重启后-secret参数会更新

服务启动建议

nohup java -jar agent.jar -url http://192.168.16.200:8080/ -secret 4e1e31e059bbb8248e90e07acace1d084b04756a62c253c1a0680c0b3513b75a -name "JenkinsAgent-Build01" -workDir "/opt/JenkinsAgent" &

日志输出示例

Sep 02, 2024 12:57:31 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
INFO: Using /opt/JenkinsAgent/remoting as a remoting work directory
Sep 02, 2024 12:57:32 PM hudson.remoting.Launcher$CuiListener status
INFO: Connected

状态验证

检查节点状态: Dashboard → 管理节点 → 节点列表

故障排查

异常现象:代理连接失败

Sep 02, 2024 12:50:16 PM hudson.remoting.Launcher$CuiListener status
INFO: Could not locate server among [http://192.168.16.200:8080/]; waiting 10 seconds before retry
java.io.IOException: http://192.168.16.200:8080/tcpSlaveAgentListener/ is invalid: 404 Not Found

解决方案:在主控节点配置TCP端口 Dashboard → 管理节点 → 安全设置 → 入站代理端口 → 固定端口12345 验证地址:http://192.168.16.200:8080/tcpSlaveAgentListener/ 应显示"Jenkins"文本

相关文章

Trojan服务器搭建与配置

一、整体架构(先对齐认知)Clash Meta (PC / iOS / Android)        ↓ TLS   Trojan Server (443)        ↓     InternetTrojan 的核心是: TLS + HTTPS 流量伪装 看起来像正常网站 非常适合...

Tailscale 的详细用法

Tailscale 是一种基于 WireGuard 协议 的 零配置 VPN(虚拟私有网络)服务,让设备之间能够 安全、加密地直接连接,就像它们在同一个本地网络一样。它的核心特点是 简单、安全、跨平台。Tailscale 非常适合 没有公网 IP、两台电脑不在同一局域网 的场景。 简单来说,Tailscale 是什么?Tailscale 是一款让你的各种设备(电脑、服务器、手机...

Clash Tun 模式 导致 爱快(iKuai SD-Wan)内网域名无法访问

一、Clash  DNS 配置dns:  enable: true  listen: 0.0.0.0:53  ipv6: true  enhanced-mode: redir-host  nameserver:    - 223.5.5.5    - 223.6.6.6iKuai 内网域名 ...

深入解析Node.js运行环境与异步I/O架构

深入解析Node.js运行环境与异步I/O架构

核心定义与价值Node.js本质上是一个JavaScript运行环境,而非编程语言或应用框架。它赋予了JavaScript脱离浏览器在服务端、命令行工具及网络应用中执行的能力。其核心意义在于:用单一语言打通前后端开发壁垒。基于事件驱动与非阻塞I/O的架构特性,Node.js在处理API网关、实时通信及微服务等I/O密集型场景时表现卓越,已成为现代后端工程的主流选择。浏览器沙箱限制1995年Java...

ADO.NET SQL参数化查询的最佳实践

在 ADO.NET 中执行 SQL 查询时,参数化查询是一种关键的安全措施和性能优化手段。它通过将 SQL 命令和用户提供的数据分开处理,有效防止了 SQL 注入攻击,并有助于数据库缓存执行计划。下面总结了几种常用的参数化查询方式。 1. 使用 SqlParameter 对象(推荐) 这是最推荐的参数化查询方式。通过显式创建 SqlParameter 对象,您可以精确控制参数的类...

基于ELK的日志集中化分析系统搭建

构建统一日志管理平台的必要性 在分布式架构中,各服务节点独立运行,日志分散存储于不同主机。传统通过命令行工具如grep、awk逐个检索日志的方式,在数据量庞大时效率极低,难以实现快速定位问题。为提升运维效率,需建立集中式日志处理体系,具备日志采集、传输、存储、分析与告警能力。 ELK技术栈核心组件解析 Elasticsearch:分布式搜索引擎,支持全文检索、实时数据分析和高可用集群部署,...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。