CentOS搭建:Jenkins
2024/12/31大约 4 分钟
参考:
- linux安装Jenkins
- Centos7下安装Jenkins
- centos7中jenkins的安装与配置(超详细)
- Jenkins平台配置 java 环境
- 修改Jenkins的默认工作路径,最简单高效的方式,适用于正式环境
- 为Jenkins设置Nginx反向代理
- 【Jenkins的部署与配置】
- Jenkins版本升级
CentOS搭建:Jenkins
概要说明
常用命令
环境依赖
软件/系统 | 版本 | 架构 | 包名 | 安装方式 | 备注 |
---|---|---|---|---|---|
Linux | CentOS-7.X | x86_64 | |||
jenkins | 2.346.3-1.1 | jenkins-2.346.3-1.1.noarch.rpm | 离线程序安装 | 官网下载 | |
java | 1.8.0_411 |
CentOS中软件安装的常用方式:
在线源安装(yum)
离线程序安装(rpm)
二进制包安装(无需编译)
源码二进制包安装(无需编译)
源码包编译安装 (要编译)
安装搭建
包下载
Jenkins 项目产生两个发行线, 长期支持版本 (LTS) 和每周更新版本。Jenkins发行版本说明
下载支持依赖java8的Jenkins稳定发行版本
wget https://mirrors.jenkins.io/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm

环境检查
已安装检查
# 查找已安装 rpm -qa | grep jenkins
# 卸载已安装 sudo rpm -e --nodeps xxx
- 普通卸载模式:
rpm -e xxx
,如果提示有依赖其他文件,则可以用强力卸载。 - 强力卸载模式:
rpm -e --nodeps xxx
- 普通卸载模式:
jdk环境:Jenkins是java开发的,所以需要依赖jdk环境。Jenkins版本及依赖的java版本查询
# 验证jdk环境 java -version
安装依赖
java8:CentOS搭建:JDK
创建目录
sudo mkdir -p /soft/jenkins
# 移动安装包到目录
sudo mv jenkins-2.346.3-1.1.noarch.rpm /soft/jenkins
进行安装
cd /soft/jenkins
sudo rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
-i
:表示安装(install)RPM 包。-v
:表示详细模式(verbose),在安装过程中会显示更多的信息。-h
:表示在安装过程中显示安装进度条(hash marks),提供一个可视化的安装进度反馈。
安装后的默认文件路径说明:
路径 | 描述 | 用途或内容 |
---|---|---|
/usr/lib/systemd/system/jenkins.service | Jenkins的系统服务文件 | 用于定义Jenkins服务如何启动、停止和管理 |
/usr/lib/firewalld/services/jenkins.xml | Jenkins的Firewalld服务配置文件 | 定义Jenkins服务所需的防火墙规则 |
/usr/share/java/jenkins.war | Jenkins的Web应用程序归档文件 | Jenkins的核心应用程序,可部署到Java Servlet容器中 |
/etc/sysconfig/jenkins | Jenkins的系统配置文件 | 包含Jenkins服务运行时需要的配置参数 |
/etc/rc.d/init.d/jenkins | Jenkins的init脚本 | 用于在旧式Linux系统上启动、停止和重启Jenkins服务 |
/etc/logrotate.d/jenkins | Jenkins的日志轮转配置文件 | 定义Jenkins日志文件的轮转策略,如大小、保留时间等 |
/var/lib/jenkins | Jenkins的数据目录 | 存储Jenkins作业、插件、配置等持久化数据 |
/var/log/jenkins | Jenkins的日志目录 | 存储Jenkins运行时的日志文件 |
/var/cache/jenkins | Jenkins的缓存目录 | 存储Jenkins用于提高性能的临时数据 |
/usr/bin/jenkins | Jenkins的可执行文件(可能是链接) | 指向Jenkins的实际可执行文件或脚本,用于从命令行启动Jenkins |
/usr/share/jenkins | Jenkins的共享目录 | 存放Jenkins的公共文件,如文档、示例等 |
/usr/sbin/rcjenkins | Jenkins的启动/停止脚本(可能是特定于发行版的) | 用于启动或停止Jenkins服务的脚本,可能依赖于特定的Linux发行版 |
修改配置
/etc/sysconfig/jenkins
sudo vi /etc/sysconfig/jenkins
# 端口号 JENKINS_PORT="8080" # 启动参数 #JENKINS_ARGS="--prefix=/jenkins" #路由相对路径
链接java
# 查找java which java
# 将java链接到/usr/bin/java ln -s /usr/local/java/jdk1.8.0_191/bin/java /usr/bin/java
/usr/local/java/jdk1.8.0_191/bin/java
为which java
的结果,即java路径
启停操作
# 状态
sudo systemctl status jenkins
# 启动
sudo systemctl start jenkins
# 停止
sudo systemctl start jenkins
# 开机自启动
sudo systemctl enable jenkins
防火墙放行
# 开放指定端口
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
--zone
作用域--add-port=8080/tcp
添加端口,格式为:端口/通讯协议--permanent
永久生效,没有此参数重启后失效
# 开启防火墙
systemctl start firewalld
# 停止防火墙
systemctl stop firewalld
# 停用开机自启动
systemctl disable firewalld
访问配置及验证
访问地址:http://ip:port(端口默认8080)
管理员
账号:jenkins(默认)
密码:
# 获取密码 sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 例如:b767ff5cf9424238aa1b4a035ad0078b
开机自启动设置
# 开机自启动
sudo systemctl enable jenkins
# 停用开机自启动
sudo systemctl enable jenkins
修改默认工作路径
Jenkins的默认工作路径:/var/lib/jenkins,路径默认属主是用户jenkins

停止
sudo systemctl stop jenkins
复制默认工作目录并进行软连接挂载
# 创建数据目录 sudo mkdir -p /data/jenkins/{data,bak} #备份一份默认目录文件 sudo scp -r /var/lib/jenkins /data/jenkins/bak/jenkins_bak20241115 #移动默认工作目录到目的目录中 sudo mv /var/lib/jenkins /data/jenkins/data #设置软链接 sudo ln -s /data/jenkins/data/jenkins /var/lib/jenkins
更改数据目录属主
sudo chown -R jenkins:jenkins /data/jenkins sudo chown -R jenkins:jenkins /var/lib/jenkins
重新启动
sudo systemctl restart jenkins
Jenkins升级
Jenkins问题总结
问题:访问jenkins,报错:AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"? See also: https://www.jenkins.io/redirect/troubleshooting/java.awt.headless
解决:
yum install fontconfig
,参考