CentOS 安装jenkins笔记

  1. 安装 Java。目前一般jdk要求11以上,否则会报错

  2. 手动添加 Jenkins 仓库

先创建一个专门的Jenkins文件夹:mkdir jenkins

然后 执行

sudo curl -fsSL https://pkg.jenkins.io/redhat/jenkins.io.key -o /etc/pki/rpm-gpg/jenkins.io.key

然后,更新你的仓库配置文件。编辑或创建 /etc/yum.repos.d/jenkins.repo 文件,内容如下:

Jenkins

name=Jenkins

baseurl=https://pkg.jenkins.io/redhat/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/jenkins.io.key

enabled=1

  1. 清理 YUM 缓存并安装

sudo yum clean all

sudo yum makecache

再尝试安装Jenkins

sudo yum install jenkins

启动 Jenkins 服务

sudo systemctl start jenkins

sudo systemctl enable jenkins

  1. 检查 Jenkins 状态

sudo systemctl status jenkins

可能遇到的一些问题

1.例如会报以下错误:

bash 复制代码
Jul 14 14:24:53 iZ7xv7q3yjgje58dc089w0Z systemd[1]: start request repeated too quickly for jenkins.service
Jul 14 14:24:53 iZ7xv7q3yjgje58dc089w0Z systemd[1]: Failed to start Jenkins Continuous Integration Server.
Jul 14 14:24:53 iZ7xv7q3yjgje58dc089w0Z systemd[1]: Unit jenkins.service entered failed state.
Jul 14 14:24:53 iZ7xv7q3yjgje58dc089w0Z systemd[1]: jenkins.service failed.
Jul 14 14:24:59 iZ7xv7q3yjgje58dc089w0Z systemd[1]: [/usr/lib/systemd/system/jenkins.service:16] Unknown lvalue 'StartLimitBurst' in section 'Unit'
Jul 14 14:24:59 iZ7xv7q3yjgje58dc089w0Z systemd[1]: [/usr/lib/systemd/system/jenkins.service:17] Unknown lvalue 'StartLimitIntervalSec' in section 'Unit'

找到并编辑 /usr/lib/systemd/system/jenkins.service 文件,找到以下对应的两行配置

StartLimitBurst=5

StartLimitIntervalSec=0

删除或者注释掉

  1. 错误2 jdk版本不对应
bash 复制代码
Jul 14 17:43:15 iZ7xv7q3yjgje58dc089w0Z systemd[1]: Starting Jenkins Continuous Integration Server...
Jul 14 17:43:16 iZ7xv7q3yjgje58dc089w0Z jenkins[1147]: Error: A JNI error has occurred, please check your installation and try again
Jul 14 17:43:16 iZ7xv7q3yjgje58dc089w0Z jenkins[1147]: Exception in thread "main" java.lang.UnsupportedClassVersionError: executable/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Jul 14 17:43:16 iZ7xv7q3yjgje58dc089w0Z jenkins[1147]: at java.lang.ClassLoader.defineClass1(Native Method)

排除Jenkins问题常用命令

journalctl -u jenkins.service -n 100 --no-pager

  • journalctl :是用于查看系统日志的工具,特别是与 systemd 相关的日志。它能帮助你查看服务的日志、错误信息以及其他系统事件。

  • -u jenkins.service :表示你要查看的是与 jenkins.service 相关的日志。这里的 -uunit 的缩写,jenkins.service 是 Jenkins 服务的名字。

  • -n 100:表示显示最后的 100 行日志。如果你想查看更多或更少的日志,可以调整这个数字。

  • --no-pager :表示日志输出时不使用分页工具(如 less)。通常,journalctl 会分页输出日志,但加上 --no-pager 之后,它会一次性输出所有日志,而不会等待用户输入以查看更多内容。

相关推荐
ZC跨境爬虫5 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
OBiO20138 小时前
Cell | 突破AAV载体容量限制!路中华/姜玉武/刘太安团队开发AAVLINK系统实现大基因递送
笔记
智者知已应修善业9 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
sakiko_9 小时前
UIKit学习笔记5-使用UITableView制作聊天页面
笔记·学习·swift·uikit
Alice-YUE10 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
小陈phd11 小时前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀11 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
handler0111 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
其实防守也摸鱼12 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
05候补工程师14 小时前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人