Jenkins在Rocky Linux上的部署与Agent节点设置
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)
初始配置流程
- 访问 http://192.168.16.200:8080/
- 获取初始密码:
cat /var/lib/jenkins/secrets/initialAdminPassword - 插件选择:按需安装
- 创建管理员账户
- 完成初始化向导
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"文本
