【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 信号的…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
