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年左右,智能系统接入音箱市场,智能音箱行业在中国市场兴起。但大潮激荡,阿里、小米、百度三大巨头凭借自身强大的资本、技术、粉丝群强势入局,形成三足鼎立态势。经过几年快速普及,智能音箱整体渗透率极高…...

逻辑与集合论基础及其在编程中的应用
目录 第一篇文章:逻辑与集合论基础及其在编程中的深度应用 引言 命题逻辑与谓词逻辑在编程中的深入应用 集合论及其在编程中的深度运用 函数的概念及其与集合的结合 总结与应用 第一篇文章:逻辑与集合论基础及其在编程中的深度应用 引言 逻辑与集…...

【无标题】为什么 pg_rewind 在 PostgreSQL 中很重要?
文章目录 pg_rewind 的工作原理使用 pg_rewind 的要求Basic Usage of pg_rewind重要注意事项:为什么 pg_rewind 需要干净关闭?无法进行干净关闭的情况处理不正常关机结论 pg_rewind 是 PostgreSQL 中的一个实用程序,用于将一个数据库集群与另一个数据库集…...

hostapd生成beacon_ie
配置文件 /data/vendor/wifi/hostapd/hostapd_wlan0.conf 配置参数 AP启动过程:1.上层配置一些参数并根据参数生成配置文件 2.init的时候设置默认参数并加载配置文件上的参数(如果重复,以配置文件上的设置优先) 相关函数及结构…...

leetcode349:两个数组的交集
两个数组的交集 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 public int[] intersection(int[] nums1, int[] nums2) {ArrayList<Integer> list new ArrayList<>();Has…...

Metasploit漏洞利用系列(八):MSF渗透测试 - PHPCGI漏洞利用实战
在本系列的第八篇文章中,我们将深入探索如何利用Metasploit Framework (MSF) 来针对PHPCGI (PHP Common Gateway Interface) 的漏洞进行渗透测试。PHPCGI作为一种将Web服务器与PHP脚本交互的方式,其不恰当的配置或老旧版本中可能存在的漏洞常被攻击者利用…...

基于python的主观题自动阅卷系统设计与实现
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...

计算机毕业设计仪器设备管理系统-折旧-报废-转移-借出-归还
本文主要阐述如何采用利用网络数据库技术,在信息管理系统中合理的进行管理。在全面解析系统的设计理念以及设计手段,将系统进程中的所需的工具以及技术进行综合的设计,重点解析信息管理情况以及自动化管理进程,主要包括࿱…...

DAY37
零钱兑换 II public int change(int amount, int[] coins) {int []dpnew int[amount1];dp[0]1;for(int i0;i<coins.length;i){for(int jcoins[i];j<amount;j){dp[j]dp[j-coins[i]];}}return dp[amount];}组合总和 Ⅳ public int combinationSum4(int[] nums, int target)…...

将iso格式的镜像文件转化成云平台能安装的镜像格式(raw/vhd/QCOW2/VMDK )亲测--图文详解
1.首先,你将你的iso的文件按照正常的流程和需求安装到你的虚拟机中,我这里使用的是vmware,安装完成之后,关机。再次点开你安装好的那台虚拟机的窗口,如下图 选中要导出的镜像,镜像需要关机 2.点击工具栏的文件------选择 导出 整个工程到 ovf 格式—这里你可以选择你要导…...

Numba加速计算(CPU + GPU + prange)
文章目录 加速方法:Numba、CuPy、PyTorch、PyCUDA、Dask、Rapids一、Numba简介二、Numba类型:CPU GPU三、项目实战 —— 数组的每个元素加23.1、使用 python - range 循环计算 —— (时耗:137.37 秒)3.2、使用 python…...