Centos安装Jenkins教程详解版(JDK8+Jenkins2.346.1)
本教程基于 JDK8 和 Jenkins2.346.1
JDK安装
- 下载OpenJDK8文件
wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u422b05.tar.gz
- 解压到指定目录
# 创建目录
mkdir -p /usr/local/software# 解压文件到指定目录(-C后面为指定目录)
tar -xzvf OpenJDK8U-jdk_x64_linux_hotspot_8u422b05.tar.gz -C /usr/local/software# 重命名文件
mv /usr/local/software/jdk8u422-b05 /usr/local/software/jdk8_422
- 配置环境变量,
vim /etc/profile在文件末尾加上以下内容。
JAVA_HOME=/usr/local/software/jdk8_422
export PATH=${JAVA_HOME}/bin:${PATH}
- 使用
source /etc/profile指令更新profile文件 - 输入
java -version查看是否安装成功。

Jenkins安装
- 下载文件
# 下载安装包
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.1-1.1.noarch.rpm
# 安装
rpm -ivh jenkins-2.346.1-1.1.noarch.rpm
- 配置环境变量,
vim /etc/profile在文件末尾加上以下内容。
export JENKINS_HOME=/usr/local/jenkins
- 使用
source /etc/profile指令更新profile文件。 - 使用
vim /etc/sysconfig/jenkins修改jenkins的配置(这个配置文件主要配置jenkins运行时的环境变量)。
# 存储Jenkins配置文件和工作文件(构建导出等)
JENKINS_HOME="/var/lib/jenkins"
# Jenkins运行时,所具有的用户账户
JENKINS_USER="root"
# Jenkins运行端口
JENKINS_PORT="8080"
- 使用
which java查看jdk所在路径

- 使用
vim /etc/init.d/jenkins修改jenkins的初始化脚本(这个脚本主要管理jenkins的启动和停止),在candidates变量中加上自己的jdk所在路径

- 执行
/etc/init.d/jenkins start启动Jenkins。
# 启动jenkins
/etc/init.d/jenkins start# 停止jenkins
/etc/init.d/jenkins stop# 重启jenkins
/etc/init.d/jenkins restart
- 通过
ip:端口即可访问(tips:记得防火墙放行端口) - 首次登录需要系统生成的密码,在Jenkins启动时可以看到或使用
cat /var/lib/jenkins/secrets/initialAdminPassword查看密码。

Jenkins插件安装
上一步登录后,先不要点击这个"安装推荐的插件"。(因为这个安装插件,都是安装的最新版本的插件,会和现在使用的Jenkins版本不兼容,所以需要去修改下载源)

在浏览器地址栏输入,ip+端口号/pluginManager/advanced。
例如:localhost:8080/pluginManager/advanced。
修改下图中的url,我这里安装的jenkins版本是2.346.1,对应的url为https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-stable-2.346.1/update-center.json。修改后点击“submit”。(这个json文件里面,指定了当前Jenkins可使用的插件版本)
这个url要根据自己的jenkins版本来选择,进入该网站https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/ 找到自己jenkins版本的update-center.json文件。

来到"Available"界面,点击"Check now"

这个时候大概率报错提示:signature verification failed in update site ‘default‘ (show details)。(这个原因是插件的加密算法可能过老、不安全,当前的Java版本不支持导致的。1.可以跳过签名认证。2.在Java的配置中添加插件对应的加密算法)。
这里使用第一种跳过签名认证,使用 vim /etc/sysconfig/jenkins 修改jenkins的配置。
# 设置Java运行Jenkins时JVM的参数
# -Djava.awt.headless=true (Jenkins默认设置的,表示以非图形化界面运行,避免 Java 尝试创建图形界面,从而节省系统资源)
# -Dhudson.model.DownloadService.noSignatureCheck=true(禁用安装Jenkins插件时的签名检查)
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DownloadService.noSignatureCheck=true"
重启Jenkins使修改后的配置文件生效。
# 重启jenkins
/etc/init.d/jenkins restart
重新登录访问Jenkins,跳转到/pluginManager/available界面,Check Now 之后刷新加载出来就可以了。
浏览器地址栏输入“ip:端口”跳转到首页,点击“安装推荐插件”。

等待插件安装完成后,创建管理员账号(这个账号就是后续登录用的账号了,原来的root+默认密码就不能使用了)。之后一直默认往下走就完成了。

至此安装完成,快去部署自己的项目吧!

相关文章:
Centos安装Jenkins教程详解版(JDK8+Jenkins2.346.1)
本教程基于 JDK8 和 Jenkins2.346.1 JDK安装 下载OpenJDK8文件 wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u422b05.tar.gz解压到指定目录 # 创建目录 mkdir -p /usr/local/software# 解压文件到指定目录&#…...
聚类分析|距离与相似系数|层次聚类|K均值聚类|SPSS及Matlab
聚类分析问题描述 聚类分析问题描述 人类认识世界的方法之一就是将事物按照各种属性或特征分成若干类别。 物以类聚、人以群分。分类方法多种多样,简单直接的如高、矮、胖瘦。使用的信息量小,但对类别界限附近的案例,分类结果不一定合适。 …...
Linux中安装java和tomcat(保姆级教程)
java 篇 JDK是用于开发Java应用程序的软件开发工具包。它包含了编译器、调试器、运行时环境和其他一些开发工具,可以帮助开发人员创建、编译、调试和部署Java应用程序。JDK提供了Java编程语言的开发工具和运行时库,使开发人员能够编写和执行Java代码。 …...
Vue组件库Element和Vue路由
目录 一、Vue组件库Element(学会怎么CV) 快速入门 ElementUI的常用组件 1.Table表格 (1)组件演示 (2)组件属性详解 2.Pagination分页 (1)组件演示 (2࿰…...
网络编程,网络协议,UDP编程
网络: 1.协议:通信双方约定的一套标准 2.国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …...
通过访存地址获取主存数据的过程
目录 1.根据访存地址在Cache中查找数据 2.如果在Cache中命中 3.如果没有命中 4.数据送CPU 5.做几道题: 主要厘清思路,中间细节需自行补充! 1.根据访存地址在Cache中查找数据 ① 访存地址的结构会根据Cache和主存之间的映射方式不同而改变。映射方式…...
sqlite3交叉编译问题(对‘fcntl64@GLIBC_2.28’未定义的引用)
使用rk3568的编译器交叉编译程序,报如下错误: libsqlite3.so:对‘fcntl64GLIBC_2.28’未定义的引用 libsqlite3.so:对‘logGLIBC_2.29’未定义的引用在网上查了下这个问题的原因可能是在GLIBC库2.28版本中, "fcn…...
每天一个数据分析题(四百九十六)- 决策树模型
回归树是可以用于回归的决策树模型,一个回归树对应着输入空间(即特征空间)的一个划分以及在划分单元上的输出值。以下哪个指标可用于回归树中的模型比较 A. Adjusted R2 B. F-measure C. AUC D. Precision & Recall 数据分析认证考试…...
七牛云 CDN 视频瘦身,为视频分发「减负增效」
随着智能设备的普及,以及各种以分享视频为主的平台的兴起,人们记录生活、分享故事的方式不再局限于文字和图片,而是越来越多地通过视频来表达。视频也不再需要复杂的制作过程,变得随手可得。 然而,视频在互联网上的爆炸…...
使用html-docx-js + fileSaver实现前端导出word
因为html-docx-js是16年的老库了,它代码里面用到的with语法现在严格模式不允许,用npm直接引入会报错,所以我们需要用其它方式引入 首先要将html-docx-js的代码放到项目中 html-docx-js/dist/html-docx.js at master evidenceprime/html-do…...
Spark2.x 入门:DStream 输出操作
在Spark应用中,外部系统经常需要使用到Spark DStream处理后的数据,因此,需要采用输出操作把DStream的数据输出到数据库或者文件系统中。 这里以《Spark2.1.0入门:DStream输出操作》中介绍的NetworkWordCountStateful.scala为基础…...
Python爬虫——简单网页抓取(实战案例)小白篇
Python 爬虫是一种强大的工具,用于从网页中提取数据。这里,我将通过一个简单的实战案例来展示如何使用 Python 和一些流行的库(如 requests 和 BeautifulSoup)来抓取网页数据。 实战案例:抓取一个新闻网站的头条新闻标…...
linux,ubuntu,使用ollama本地部署大模型llama3,模型通用,简易快速安装
文章目录 前言安装ollama启动ollama运行llama3模型查看ollama列表删除模型通过代码进行调用REST API 前言 在拥有了一条4090显卡后,那冗余的性能让你不得不去想着办法整花活,于是就想着部署个llama3,于是发现了ollama这个新大陆,…...
JS中的encodeURIComponent函数示例
JavaScript中的encodeURIComponent函数用于对字符串进行URL编码。它将字符串中的特殊字符转换为相应的编码形式,以确保字符串可以安全地嵌入到URL中。 使用encodeURIComponent函数时,它会将除了字母、数字、-、_、.、~以外的所有字符都进行编码。编码后…...
8.20 pre day bug
pre-bug1 分号省略 这些语句的分隔规则会导致一些意想不到的情形,如以下的一个示例; let m n f(bc).toString()但该语句最终会被解析为: let m n f(ab).toString();returntrue一定会被解析成 return;true;pre-bug2 Math.random()与Mat…...
位运算专题
分享丨【题单】位运算(基础/性质/拆位/试填/恒等式/思维) - 力扣(LeetCode) Leetcode 3133. 数组最后一个元素的最小值 我的答案与思路: class Solution { public: // 4 --> (100)2 7 --> (0111)2 // 5 --&g…...
HaProxy学习 —300K的TCP Socket并发连接实现(翻译)
HaProxy学习 —300K的TCP Socket并发连接实现(翻译) 1 原文链接2 原文翻译2.1 调整Linux系统参数2.2 调整HAProxy 1 原文链接 Use HAProxy to load balance 300k concurrent tcp socket connections: Port Exhaustion, Keep-alive and others࿰…...
92.WEB渗透测试-信息收集-Google语法(6)
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:91.WEB渗透测试-信息收集-Google语法(5) 监控的漏洞也有很多 打…...
[数据集][目标检测]木材缺陷检测数据集VOC+YOLO格式2383张10类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2383 标注数量(xml文件个数):2383 标注数量(txt文件个数):2383 标注…...
【启明智显分享】智能音箱AI大模型一站式解决方案重塑人机交互体验,2个月高效落地
2010年左右,智能系统接入音箱市场,智能音箱行业在中国市场兴起。但大潮激荡,阿里、小米、百度三大巨头凭借自身强大的资本、技术、粉丝群强势入局,形成三足鼎立态势。经过几年快速普及,智能音箱整体渗透率极高…...
VS2022中scanf报错的三种高效解决方案
1. 为什么VS2022中scanf会报错? 很多刚接触VS2022的开发者都会遇到一个奇怪的现象:明明在其他编译器能正常运行的scanf代码,在VS2022中却会报错。这其实是因为微软在安全方面做了特殊处理。VS2022默认启用了更严格的安全检查,将sc…...
Windows11 Camera 存储路径自定义与系统声音录制全攻略
1. Windows11 Camera存储路径自定义详解 每次用Windows11自带的Camera应用拍完照片或视频,是不是总在C盘里翻来覆去找文件?我刚开始用的时候也经常遇到这个问题,直到发现原来存储路径可以自定义。下面我就把摸索出来的完整操作流程分享给大家…...
Fluent Meshing实战:从几何到求解就绪网格的自动化之路
1. Fluent Meshing入门:为什么选择自动化网格生成? 第一次接触CFD仿真时,我像大多数工程师一样被网格生成折磨得够呛。记得有个汽车后视镜的案例,光是清理CAD缝隙就花了整整三天,生成的四面体网格质量差到根本没法计算…...
我不是狐狸,我是那Harness Engineering廖
Julia(julialang.org)由Stefan Karpinski、Jeff Bezanson等在2009年创建,目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是: 高性能:编译型语言(JIT࿰…...
BGE Reranker-v2-m3开源可部署:完整源码+Dockerfile+Gradio UI,支持国产化改造
BGE Reranker-v2-m3开源可部署:完整源码DockerfileGradio UI,支持国产化改造 1. 项目简介与核心价值 你是否遇到过这样的问题?在开发一个智能客服系统,或者搭建一个内部知识库时,从海量文档里检索出来的结果…...
cv_resnet101_face-detection_cvpr22papermogface多场景落地:会议签到、活动人流统计、智能门禁预处理
MogFace多场景落地:会议签到、活动人流统计、智能门禁预处理 1. 项目概述 MogFace高精度人脸检测工具是基于CVPR 2022论文提出的先进人脸检测算法开发的本地化解决方案。这个工具专门针对实际应用场景中的各种挑战进行了优化,能够在复杂环境下准确检测…...
HarmonyOS 6学习:Swiper组件圆点指示器颜色叠加问题解析与解决方案
一、前言:一个看似简单却困扰开发者的视觉问题在HarmonyOS应用开发中,Swiper组件作为实现轮播图、图片浏览、引导页等功能的利器,被广泛应用于各类应用场景。其内置的圆点指示器(indicator)功能,为用户提供…...
我试了四种去除 Gemini 水印的方法,整理成一篇实用对比野
认识Pass层级结构 Pass范围从上到下一共分为5个层级: 模块层级:单个.ll或.bc文件 调用图层级:函数调用的关系。 函数层级:单个函数。 基本块层级:单个代码块。例如C语言中{}括起来的最小代码。 指令层级:单…...
RWKV7-1.5B-G1A模型推理服务监控与告警体系搭建
RWKV7-1.5B-G1A模型推理服务监控与告警体系搭建 1. 为什么模型服务需要监控体系 在AI模型服务投入生产环境后,最让人头疼的问题往往不是模型效果,而是服务稳定性。想象一下,半夜三点突然接到报警电话,说线上推理服务挂了&#x…...
C++ 友元深度解析:突破封装的边界
引言在 C 面向对象编程中,封装是三大特性之一。它通过 private 和 protected 访问限定符,将类的内部实现细节隐藏起来,只暴露必要的 public 接口。这种设计极大地提高了代码的安全性和可维护性。但是,现实世界总是存在例外。有时候…...
