CentOS搭建:Jenkins

12/31/2024 运维LinuxCentOS

目录


参考:


# CentOS搭建:Jenkins

# 概要说明

Jenkins中文官网 (opens new window)

# 常用命令


1

# 环境依赖

软件/系统 版本 架构 包名 安装方式 备注
Linux CentOS-7.X x86_64
jenkins 2.346.3-1.1 jenkins-2.346.3-1.1.noarch.rpm (opens new window) 离线程序安装 官网下载 (opens new window)
java 1.8.0_411
  • CentOS中软件安装的常用方式:

    • 在线源安装(yum)

    • 离线程序安装(rpm)

    • 二进制包安装(无需编译)

    • 源码二进制包安装(无需编译)

    • 源码包编译安装 (要编译)

# 安装搭建

# 包下载

下载支持依赖java8的Jenkins稳定发行版本

wget https://mirrors.jenkins.io/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
1

image-20241115120034674

# 环境检查

  • 已安装检查

    # 查找已安装
    rpm -qa | grep jenkins
    
    1
    2
    # 卸载已安装
    sudo rpm -e --nodeps xxx
    
    1
    2
    • 普通卸载模式:rpm -e xxx,如果提示有依赖其他文件,则可以用强力卸载。
    • 强力卸载模式:rpm -e --nodeps xxx
  • jdk环境:Jenkins是java开发的,所以需要依赖jdk环境。Jenkins版本及依赖的java版本查询 (opens new window)

    # 验证jdk环境
    java -version
    
    1
    2

# 安装依赖

java8:CentOS搭建:JDK

# 创建目录

sudo mkdir -p /soft/jenkins
1
# 移动安装包到目录
sudo mv jenkins-2.346.3-1.1.noarch.rpm /soft/jenkins 
1
2

# 进行安装

cd /soft/jenkins
1
sudo rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
1
  • -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
    
    1
    # 端口号
    JENKINS_PORT="8080"
    # 启动参数
    #JENKINS_ARGS="--prefix=/jenkins" #路由相对路径
    
    1
    2
    3
    4
  • 链接java

    # 查找java
    which java
    
    1
    2
    # 将java链接到/usr/bin/java
    ln -s /usr/local/java/jdk1.8.0_191/bin/java /usr/bin/java
    
    1
    2
    • /usr/local/java/jdk1.8.0_191/bin/javawhich java的结果,即java路径

# 启停操作

# 状态
sudo systemctl status jenkins
# 启动
sudo systemctl start jenkins
# 停止
sudo systemctl start jenkins
# 开机自启动
sudo systemctl enable jenkins
1
2
3
4
5
6
7
8

# 防火墙放行

# 开放指定端口
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
1
2
  • --zone 作用域
  • --add-port=8080/tcp 添加端口,格式为:端口/通讯协议
  • --permanent 永久生效,没有此参数重启后失效
# 开启防火墙
systemctl start firewalld
# 停止防火墙
systemctl stop firewalld
# 停用开机自启动
systemctl disable firewalld
1
2
3
4
5
6

# 访问配置及验证

  • 访问地址:http://ip:port(端口默认8080)

  • 管理员

    账号:jenkins(默认)

    密码:

    # 获取密码
    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    
    1
    2
    • 例如:b767ff5cf9424238aa1b4a035ad0078b

# 开机自启动设置

# 开机自启动
sudo systemctl enable jenkins
# 停用开机自启动
sudo systemctl enable jenkins
1
2
3
4

# 修改默认工作路径

Jenkins的默认工作路径:/var/lib/jenkins,路径默认属主是用户jenkins

image-20241115152136739

  • 停止

    sudo systemctl stop jenkins
    
    1
  • 复制默认工作目录并进行软连接挂载

    # 创建数据目录
    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
    
    1
    2
    3
    4
    5
    6
    7
    8
  • 更改数据目录属主

    sudo chown -R jenkins:jenkins /data/jenkins
    sudo chown -R jenkins:jenkins /var/lib/jenkins
    
    1
    2
  • 重新启动

    sudo systemctl restart jenkins
    
    1

# Jenkins升级

Jenkins版本升级 (opens new window)

# 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参考 (opens new window)

上次更新时间: 4/14/2025, 1:24:35 AM