【Centos7+JDK1.8】Jenkins安装手册
一、安装环境
Centos7 +JDK1.8 +Jenkins-2.346.3
JDK1.8安装以及网络配置等 自行搜索资料解决。
二、卸载历史安装的Jenkins,直接全部复制粘贴下面的命令
service jenkins stop
yum -y remove jenkins
rpm -e jenkins
rpm -ql jenkins
rm -rf /etc/sysconfig/jenkins.rpmsave
rm -rf /var/cache/jenkins/
rm -rf /etc/init.d/jenkins.rpmsave
find / -iname jenkins | xargs -n 1000 rm -rf
三、下载Jenkins2.346
1、直接在对应的网站中选择自己要想的版本rpm包下载
地址一:Index of jenkins-local/redhat-stable
地址二:Index of /redhat-stable
地址三:Redhat Jenkins Packages
2、直接在Centos系统中,使用wget命令下载即可
创建目录和下载地址(任选其一)
mdkir /opt/jenkins
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
wget https://mirrors.jenkins.io/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
wget https://archives.jenkins.io/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
四、开始安装
1、切换到对应的rpm文件下载目录并安装
cd /opt/jenkins
rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
2、查找JDK安装路径
which java

3、Jenkins配置
A、Jenkins的工作路径(可以不修改)
默认工作路径是/var/lib/jenkins。如果需要修改 按以下步骤:
A1:打开环境变量配置文件
vi /etc/profile
A2:编辑文件。 按Insert键 开始编辑。例如:将(/opt/local/jenkins) ,作为新目录。将 /opt/local/jenkins 添加到配置文件最后一行,用做Jenkins工作目录。
# /opt/local/jenkins就是新的工作空间路径
export JENKINS_HOME=/opt/local/jenkins
A3:保存并退出。:wq
A4:重新加载配置文件,将修改的内容生效。
source /etc/profile
B、Jenkins配置文件1(建议修改)
vi /etc/sysconfig/jenkins
B1、如果上面工作路径修改了 记得这也要修改。

B2、修改端口为8090(这个新端口可以根据自身情况)和用户名称为root(必须为这个)


B3、参数配置。(为后面下载适配的插件做准备(因为我们安装的不是最新版Jenkins, 是适配JDK1.8的,所以安装插件的时候 Jenkins会一直提示升级,但是最新版的又是JDK11),很多讲解安装的没有这一步,但是他们也能下载,不知道具体原因。我建议是加上如下的配置,我就是加上后才可以的。)
-Dhudson.model.DownloadService.noSignatureCheck=true

修改完成按下Esc,输入:wq退出。
C、Jenkins配置文件2(建议修改)
vi /etc/init.d/jenkins
将上面找到的JDK安装目录,加到candidates=“”的最后一行。

D、修改Jenkins的启动文件
vi /usr/lib/systemd/system/jenkins.service

E、修改Jenkins的用户权限
chmod -R 777 /var/lib/jenkins
chmod -R 777 /var/cache/jenkins
chmod -R 777 /var/log/jenkins
#或
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
F、开放端口
F1、打开防火墙,不然无法查看端口,也无法添加新端口,添加完之后及时关闭
# 打开防火墙
systemctl start firewalld
F2、查询我们刚刚给jenkins设置的端口是否开放
firewall-cmd --zone=public --query-port=8090/tcp
F3、查询结果是yes,就不用开放。查询结果是no,需要开放.执行结果为success即开放成功
firewall-cmd --zone=public --add-port=8090/tcp --permanent
F4、重启防火墙
systemctl restart firewalld
F5、查看一下是否开放成功
firewall-cmd --zone=public --query-port=8090/tcp
F6、关闭防火墙
systemctl stop firewalld
五、启动Jenkins
使用rpm包安装模式安装的jenkins2.346是无法使用systemctl start jenkins命令启动的,需要进入jenkins的启动文件目录。
cd /etc/init.d# 输入此命令启动
./jenkins start# 关闭命令
./jenkins stop
# 重启命令
./jenkins restart

六、启动后配置Jenkins
打开浏览器,输入IP:端口号,回车就可以进入Jenkins启动界面。

密码在 位置就在centos的/var/lib/jenkins/secrets/initialAdminPassword中。
cat /var/lib/jenkins/secrets/initialAdminPassword
复制下来粘贴到jenkins中,点击继续。接下来,提示选择安装插件,先别安装插件。此时重新输入网址,ip+端口号/pluginManager/advanced 滑到最下面,找到Update Site,修改URL。替换为
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-stable-2.346.3/update-center.json

我安装的是匹配jenkins2.346的插件版本,如果直接使用系统自带的URL链接,会直接下载最新的插件版本,导致安装失败,会提示升级Jenkins。但是已安装的Jenkins2.346不能再更新(因为要兼容jdk1.8),导致会无法使用插件。
注:如果Jenkins不是2.346版本的。
可以进入清华镜像源:清华大学开源软件镜像站
进入对应Jenkins版本的dynamic-stable-版本号文件夹内,再打开update-center.json文件,复制新打开页面的URL地址,去Jenkins上面说的地方中替换。提交保存之后,点击Available,然后点击Check now。(不会再提示红色了)
如果替换地址后这个页面报错,注意上面B3的参数是否配置。配置完成后重新加载配置文件,重启Jenkins.

重新启动Jenkins,更新配置.输入网址:IP:端口/restart。


一路点保存就行了。

需要汉化的 百度如何汉化。这就可以使用了。
相关文章:
【Centos7+JDK1.8】Jenkins安装手册
一、安装环境 Centos7 JDK1.8 Jenkins-2.346.3 JDK1.8安装以及网络配置等 自行搜索资料解决。 二、卸载历史安装的Jenkins,直接全部复制粘贴下面的命令 service jenkins stop yum -y remove jenkins rpm -e jenkins rpm -ql jenkins rm -rf /etc/sysconfig/je…...
SpringBootWeb 篇-深入了解 Mybatis 概念、数据库连接池、环境配置和 Lombok 工具包
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文件目录 1.0 Mybatis 概述 2.0 数据库连接池 2.1 数据库连接池的主要作用包括 2.2 如何切换数据库连接池? 3.0 配置环境 4.0 Lombok 工具包 4.1 如何导入到项目中呢…...
JAVA开发 基于最长公共子序列来计算两个字符串之间的重复率
计算两个字符串之间的重复率 最长公共子序列实现代码 最长公共子序列 基于最长公共子序列(Longest Common Subsequence, LCS)的重复率的中心逻辑是首先找到两个或多个序列中同时出现的、不一定连续但保持相对顺序的最长子序列,然后计算这个最…...
Android HAL到Framework
一、为什么需要Framwork? Framework实际上是⼀个应⽤程序的框架,提供了很多服务: 1、丰富⽽⼜可扩展的视图(Views), 可以⽤来构建应⽤程序,它包括列表(lists),⽹格&am…...
Python数据可视化(七)
绘制 3D 图形 到目前为止,我们一直在讨论有关 2D 图形的绘制方法和绘制技术。3D 图形也是数据可视化的 一个很重要的应用方面,我们接下来就重点讲解有关 3D 图形的实现方法。绘制 3D 图形通常需要导 入 mpl_toolkits 包中的 mplot3d 包的相关模块&#x…...
StringMVC
目录 一,MVC定义 二,SpringMVC的基本使用 2.1建立连接 - RequestMapping("/...") 编辑 2.2请求 1.传递单个参数 2.传递多个参数 3.传递对象 4.参数重命名 5.传递数组 6. 传递集合 7.传递JSON数据 8. 获取url中数据 9. 传递文…...
前端基础入门三大核心之HTML篇 —— SVG的viewBox、width和height:绘制矢量图的魔法比例尺【含代码示例】
前端基础入门三大核心之HTML篇 —— SVG的viewBox、width和height:绘制矢量图的魔法比例尺【含代码示例】 基本概念与作用viewBoxwidth和height 代码示例与实践基础示例动态调整示例 不同角度的使用思路保持比例缩放自动适应容器 实际问题与解决方案结语与讨论 在前…...
Java-Zookeeper
zookeeper是什么 一个分布式、开源的分布式应用程序协调服务,具有配置维护、域名服务、分布式同步、组服务等 zookeeper有哪些功能 功能简介集群管理监控节点状态、运行请求等主节点选举主节点挂掉之后会执行新主选举分布式锁zookeeper提供两种锁:独占…...
Godot游戏引擎有哪些优势
哈喽呀,大家好呀,淼淼又来和大家见面啦,众所周知在当今游戏开发领域,各种游戏引擎如雨后春笋般涌现,为开发者提供了丰富的选择。而在这些众多的选择中,Godot游戏引擎以其独特的特性和开放源代码的优势&…...
一张图看懂大模型性价比:能力、价格、并发量全面PK
最近,国内云厂商的大模型掀起一场降价风暴。火山引擎、阿里云、百度云等纷纷宣布降价,部分模型价格降幅据称高达99%,甚至还有些模型直接免费。 五花八门的降价话术,一眼望去遍地黄金。但事实真的如此吗?今天我们就拨开…...
设计井字棋游戏(一)
创建游戏登录注册窗口 用户名admin 密码admin(可自行改变) 主页面 1. 导包 import pickle:导入 pickle 模块,这是一个 Python 的内置模块,用于将 Python 对象序列化和反序列化。序列化是指将对象转换为字节流&am…...
华为手机卡顿(仅针对于部分人来说,我也不清楚是否真的有用)
关机! 之前一段时间手机变得特别卡顿,然后网上搜了一堆教程一点用没有,结果因为昨天下午在考试所以把手机关机了一个多小时,再打开之后手机就变得很流畅,原因不详,但效果显著,如有需要可尝试一…...
7、按钮无法点击
不能点击,打开f12,删除disabled...
开源博客项目Blog .NET Core源码学习(25:App.Hosting项目结构分析-13)
本文学习并分析App.Hosting项目中后台管理页面的文章管理页面。 文章管理页面用于显示、检索、新建、编辑、删除文章数据,以便在前台页面的首页、文章专栏、文章详情页面显示文章数据。文章管理页面附带一新建及编辑页面,以支撑新建和编辑文章数据。…...
第七节 ConfigurationClassParser 源码分析
tips: ConfigurationClassParser 是 Springframework 中的重要类。 本章主要是源码理解,有难度和深度,也枯燥乏味,可以根据实际情况选择阅读。 位置:org.springframework.context.annotation.ConfigurationClassPars…...
零基础代码随想录【Day42】|| 1049. 最后一块石头的重量 II,494. 目标和,474.一和零
目录 DAY42 1049.最后一块石头的重量II 解题思路&代码 494.目标和 解题思路&代码 474.一和零 解题思路&代码 DAY42 1049.最后一块石头的重量II 力扣题目链接(opens new window) 题目难度:中等 有一堆石头,每块石头的重量都是正整…...
2024-5-24 石群电路-15
2024-5-24,星期五,22:15,天气:晴,心情:晴。今天最后一天上班,终于要放返校假啦,开心!!!!!!不过放假也不能耽误…...
功能测试:核心原理、挑战以及解决之道
在软件开发生命周期中,功能测试占据了至关重要的位置。它是确保软件应用按照既定的要求和规格运行的关键测试阶段。功能测试的目的在于验证软件的功能、行为和用户界面等是否达到了业务需求的标准。本文将深入探讨功能测试的概念,执行过程中可能遇到的挑…...
跨境电商赛道,云手机到底能不能化繁为简?
当下国内电商背景: 从零售额的数据来看:随着互联网的普及和消费者购物习惯的改变,国内电商市场规模持续扩大。据相关数据显示,网络消费亮点纷呈,一季度全国网上零售额达到了3.3万亿元,同比增长12.4%。这表…...
linux:信号深入理解
文章目录 1.信号的概念1.1基本概念1.2信号的处理基本概念1.3信号的发送与保存基本概念 2.信号的产生2.1信号产生的五种方式2.2信号遗留问题(core,temp等) 3.信号的保存3.1 信号阻塞3.2 信号特有类型 sigset_t3.3 信号集操作函数3.4 信号集操作函数的使用 4.信号的处理4.1 信号的…...
Python实战:用图论算法解决外卖骑手路径规划(VRP)问题
Python实战:用图论算法解决外卖骑手路径规划(VRP)问题 外卖配送效率直接影响用户体验和平台运营成本。当3名骑手需要处理10个订单时,如何科学分配任务并规划最优路径?本文将构建一个包含时间窗口约束的VRP模型…...
别再只会用‘Let‘s think step by step’了:DeepSeek-R1原生思维链的实战调优指南
别再只会用‘Let‘s think step by step’了:DeepSeek-R1原生思维链的实战调优指南 当你在深夜调试一个复杂的代码生成任务时,模型突然输出了一个完全不符合预期的结果。你盯着屏幕,反复检查自己的prompt——明明已经加上了经典的"Lets …...
告别命令行!用wxPython+wxFormBuilder给Python脚本做个Windows桌面GUI界面(附完整代码)
告别命令行!用wxPythonwxFormBuilder给Python脚本做个Windows桌面GUI界面(附完整代码) 每次写完一个实用的Python脚本,比如数据爬虫、自动化工具或者数据处理程序,总会遇到一个尴尬的问题——怎么让不懂命令行的同事或…...
Claude Code 源码研究【第二弹】:智能体框架与大模型相互成就
在上一篇“Claude Code 源码研究:一个 while(true) 循环让大模型自己干活”之后,继续我们的研究——01自然语言引导能保证模型每次都听话吗?Claude Code 不靠 if-else 控制模型选哪个工具,而是靠 40 份精心撰写的"工具说明书…...
Android开发者的USB摄像头避坑指南:从设备枚举到SurfaceView预览的完整流程
Android开发者实战:USB摄像头集成全流程与疑难解析 去年接手一个医疗设备项目时,我需要在Android平板上接入工业级USB摄像头。本以为三天能搞定,结果光是解决画面拉伸问题就耗了一周。这份踩坑经验总结,将带你系统掌握从设备枚举到…...
POIKit:地理数据全流程处理的高效解决方案
POIKit:地理数据全流程处理的高效解决方案 【免费下载链接】AMapPoi POI搜索工具、地理编码工具 项目地址: https://gitcode.com/gh_mirrors/am/AMapPoi 价值定位:重新定义地理数据采集效率 行业痛点与技术突破 在地理信息领域,传统…...
新手福音:在快马平台用一句话描述,AI帮你生成专属技能展示网页代码
作为一个刚入门编程的新手,想要展示自己的技能却无从下手?最近我发现了一个超级友好的工具,完全是为我们这种小白量身定做的。只需要简单描述需求,就能自动生成一个完整的个人技能展示网页项目,而且所有代码都带着详细…...
电路板测试点设计与自动化测试实践
1. 测试点的本质作用在电子制造领域,测试点(Test Point)是电路板上那些看似多余的小圆点,但它们却是保证产品质量的关键设计。作为一名有十年经验的硬件工程师,我见过太多因为忽视测试点设计而导致量产失败的案例。测试…...
74HC595移位寄存器驱动原理与CrazyHC595库深度解析
1. CrazyHC595库概述:面向嵌入式工程师的74HC595移位寄存器驱动深度解析74HC595是工业界最经典、应用最广泛的8位串行输入/并行输出移位寄存器芯片之一。其核心价值在于以3根GPIO线(数据、时钟、锁存)扩展出8个可独立控制的数字输出通道&…...
AI Memory 全景解析:让 Agent 真正记住你
AI Memory 全景解析:让 Agent 真正"记住"你 你有没有遇到过这种场景:明明昨天告诉 AI 助手你喜欢简洁的代码风格,今天它又开始写冗长的注释;或者你费心纠正了一个错误,下次对话它照犯不误。这就是 AI 没有记…...
