centos7使用yum快速安装最新版本Jenkins-2.462.3
Jenkins支持多种安装方式:yum安装、war包安装、Docker安装等。
官方下载地址:https://www.jenkins.io/zh/download
本次实验使用yum方式安装Jenkins LTS长期支持版,版本为 2.462.3。
一、Jenkins基础环境的安装与配置
1.1:基本环境设置
[root@localhost ~]# hostnamectl set-hostname jenkins;bash
[root@jenkins ~]# systemctl stop firewalld && systemctl disable firewalld
[root@jenkins ~]# sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
[root@jenkins ~]# setenforce 0
[root@jenkins ~]# ntpdate ntp.aliyun.com
[root@jenkins ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@jenkins ~]# yum clean all && yum makecache
1.2:安装git
为了让Jenkins从Gitlab拉取源码,需要安装Git插件以及在主机上安装Git工具。
[root@jenkins ~]# yum install -y git
1.3:安装JDK
Jenkins需要Java运行环境,Jenkins从版本2.357开始,不再支持JDK8。建议使用JDK11或更高版本。从版本2.463开始,不再支持JDK11。
Jenkins依赖JDK版本,查看地址:
https://www.jenkins.io/doc/book/platform-information/support-policy-java
(1)安装jdk
[root@jenkins ~]# yum -y install fontconfig
[root@jenkins ~]# tar zxvf jdk-11.0.16.1_linux-x64_bin.tar.gz
[root@jenkins ~]# mv jdk-11.0.16.1 /usr/local/java
[root@jenkins ~]# ln -s /usr/local/java/bin/java /usr/bin
(2)设置jdk环境变量
[root@jenkins ~]# vim /etc/profile
#文件末尾添加
export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH[root@jenkins ~]# source /etc/profile
(3)查看jdk版本
[root@jenkins ~]# java -version
java version "11.0.16.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16.1+1-LTS-1)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16.1+1-LTS-1, mixed mode)
1.4:安装Maven环境
- 通常,Jenkisn构建JAVA项目离不开Maven工具。因此需要安装Maven环境。
(1)安装maven
[root@jenkins ~]# tar zxvf apache-maven-3.8.6-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.8.6 /usr/local/maven
(2)设置maven环境变量
[root@jenkins ~]# vim /etc/profile
#在文件末尾添加
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@jenkins ~]# source /etc/profile
(3)查看maven版本
[root@jenkins ~]# mvn -version
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /usr/local/maven
Java version: 11.0.16.1, vendor: Oracle Corporation, runtime: /usr/local/java
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
(4)修改maven更新源
[root@jenkins ~]# cp /usr/local/maven/conf/settings.xml{,.bak}
[root@jenkins ~]# vim /usr/local/maven/conf/settings.xml
#修改maven的仓库<mirrors>
<mirror><id>aliyunmaven</id> #160行开始修改<mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror></mirrors>
1.5:安装NodeJS环境
使用Jenkins构建NodeJS项目的时候,需要gcc的编译环境,不同的项目NodeJS的版本也不一样,在进行部署的时候要根据项目的依赖版本进行选择。
[root@jenkins ~]# yum -y install automake autoconf libtool make
[root@jenkins ~]# yum -y install gcc gcc-c++[root@jenkins ~]# tar zxvf node-v14.18.0-linux-x64.tar.gz
[root@jenkins ~]# mv node-v14.18.0-linux-x64 /usr/local/nodejs14
[root@jenkins ~]# ln -s /usr/local/nodejs14/bin/* /usr/local/bin
1.6:安装Jenkins
(1)添加jenkins仓库源
[root@jenkins ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
[root@jenkins ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
(2)安装jenkins
#查看jenkins所有版本软件包
[root@jenkins ~]# yum list jenkins --showduplicates | sort -r[root@jenkins ~]# yum -y install jenkins-2.462.3
备注:
/usr/share/java/jenkins.war #jenkins WAR包存放位置
/var/lib/jenkins/ #jenkins家目录
/usr/lib/systemd/system/jenkins.service #jenkins服务启动文件
(3)修改jenkins端口
[root@jenkins ~]# vim /usr/lib/systemd/system/jenkins.service
#如果jenkins的端口和其他端口有冲突,可在这个文件中修改
Environment="JENKINS_PORT=8088" #默认为8080
(4)启动jenkins
[root@jenkins ~]# systemctl daemon-reload
[root@jenkins ~]# systemctl enable jenkins --now
(5)查看Jenkins端口
[root@jenkins ~]# netstat -anpt |grep java
tcp6 0 0 :::8088 :::* LISTEN 13888/java
1.7:修改Jenkins插件更新源配置文件
[root@jenkins ~]# cd /var/lib/jenkins/updates/
[root@jenkins updates]# cp default.json{,.bak}
[root@jenkins updates]# sed -i 's#https://www.jenkins.io#https://mirrors.huaweicloud.com/jenkins#g' default.json
[root@jenkins updates]#
[root@jenkins updates]# sed -i 's#https://www.google.com#https://www.baidu.com#g' default.json
二、Jenkins初始化
(1)登录Jenkins
浏览器输入地址:http://192.168.10.134:8088
查看初始密码
[root@jenkins updates]# cat /var/lib/jenkins/secrets/initialAdminPassword
5b91dbff93c642229238fb48e31bbbca #每个人密码都不一样
(2)安装推荐插件
注意:
由于网络原因,Jenkins插件可能安装失败,也可以跳过插件安装过程,等待Jenkins安装好后,登录到Jenkins再安装插件。
(3)创建管理员账号
管理员账号和密码都设置为 admin,密码任意。
(4)保存并完成
(5)修改时区
操作步骤:右上角admin用户----> 设置----> 更改时区,最后点击 “保存” 。
三、Jenkins配置
3.1:修改Jenkins插件更新源
由于Jenkins服务器在国外,国内在安装Jenkins时,选择默认在线安装插件会很慢,甚至会失败,跳过这一步,待Jenkins启动后,修改插件安装地址,再安装插件。
(1)设置国内插件源
操作步骤:点击 “Manage jenkins”—> “Plugins”—> “Advanced settings” 最下面Update Site(升级站点),设置为如下链接,并点击 “提交” 按钮。
https://mirrors.huaweicloud.com/jenkins/updates/update-center.json
(2)重启Jenkins
浏览器输入地址:http://192.168.10.134:8088/restart
3.2:安装插件
(1)安装插件
操作步骤:点击 “Manage jenkins”—> “Plugins”—> “Available plugins”,输入要安装的插件,并点击 “安装”。
生产环境中经常用到的插件如下:
Git Parameter
Git Pipeline for Blue Ocean
GitLab
Blue Ocean
Blue Ocean Pipeline Editor
Blue Ocean Core JS
Pipeline SCM API for Blue Ocean
Dashboard for Blue Ocean
Build With Parameters
Extended Choice Parameter
Kubernetes
Kubernetes CLI
Kubernetes Credentials
Image Tag Parameter
Active Choices
SSH
Ansible
Maven Integration
Publish Over SSH
Role-based Authorization Strategy
NodeJS
Git
Credentials
Credentials Binding
Dynamic Extended Choice Parameter
Dynamic Parameter Plug-In
Pipeline
Pipeline: Declarative
Localization: Chinese (Simplified)
(2)重启Jenkins
[root@jenkins ~]# systemctl restart jenkins
3.3:配置全局工具
操作步骤:点击“Manage jenkins”—> “System Configuration”—> “Tools”,配置JDK、Maven、Nodejs等工具。配置如下:
最后,点击 “保存” 。
总结:整理不易,如果对你有帮助,请记得点赞,关注,收藏。更多DeveOps相关知识持续分享中。
相关文章:

centos7使用yum快速安装最新版本Jenkins-2.462.3
Jenkins支持多种安装方式:yum安装、war包安装、Docker安装等。 官方下载地址:https://www.jenkins.io/zh/download 本次实验使用yum方式安装Jenkins LTS长期支持版,版本为 2.462.3。 一、Jenkins基础环境的安装与配置 1.1:基本…...

【vue】【element-plus】 el-date-picker使用cell-class-name进行标记,type=year不生效解决方法
typedete,自定义cell-class-name打标记效果如下: 相关代码: <el-date-pickerv-model"date":clearable"false":editable"false":cell-class-name"cellClassName"type"date"format&quo…...

c++11新特性随笔
1.统一初始化特性 c98中不支持花括号进行初始化,编译时会报错,在11当中初始化可以通过{}括号进行统一初始化。 c98编译报错 c11: #include <iostream> #include <set> #include <string> #include <vector>int main() {std:…...
Linux字符设备驱动开发的详细步骤
1. 确定主设备号 手动指定:明确设备号时,使用register_chrdev_region()静态申请(需确保未被占用)。动态分配:通过alloc_chrdev_region()由内核自动分配主设备号(更灵活,推…...
Nginx 二进制部署与 Docker 部署深度对比
一、核心概念解析 1. 二进制部署 通过包管理器(如 apt/yum)或源码编译安装 Nginx,直接运行在宿主机上。其特点包括: 直接性:与操作系统深度绑定,直接使用系统库和内核功能 。定制化:支持通过编译参数(如 --with-http_ssl_module)启用或禁用模块,满足特定性能需求 。…...

C++23 中 constexpr 的重要改动
文章目录 1. constexpr 函数中使用非字面量变量、标号和 goto (P2242R3)示例代码 2. 允许 constexpr 函数中的常量表达式中使用 static 和 thread_local 变量 (P2647R1)示例代码 3. constexpr 函数的返回类型和形参类型不必为字面类型 (P2448R2)示例代码 4. 不存在满足核心常量…...
CMake ctest
CMake学习–ctest全面介绍 1. 环境准备 确保已安装 cmake 和编译工具: sudo apt update sudo apt install cmake build-essential2. 创建示例项目 假设我们要测试一个简单的数学函数 add(),项目结构如下: math_project/ ├── CMakeList…...

全面解析React内存泄漏:原因、解决方案与最佳实践
在开发React应用时,内存泄漏是一个常见但容易被忽视的问题。如果处理不当,它会导致应用性能下降、卡顿甚至崩溃。由于React的组件化特性,许多开发者可能没有意识到某些操作(如事件监听、异步请求、定时器等)在组件卸载…...
JavaScript学习教程,从入门到精通,Ajax数据交换格式与跨域处理(26)
Ajax数据交换格式与跨域处理 一、Ajax数据交换格式 1. XML (eXtensible Markup Language) XML是一种标记语言,类似于HTML但更加灵活,允许用户自定义标签。 特点: 可扩展性强结构清晰数据与表现分离文件体积相对较大 示例代码࿱…...

【FreeRTOS】事件标志组
文章目录 1 简介1.1事件标志1.2事件组 2事件标志组API2.1创建动态创建静态创建 2.2 删除事件标志组2.3 等待事件标志位2.4 设置事件标志位在任务中在中断中 2.5 清除事件标志位在任务中在中断中 2.6 获取事件组中的事件标志位在任务中在中断中 2.7 函数xEventGroupSync 3 事件标…...

超级扩音器手机版:随时随地,大声说话
在日常生活中,我们常常会遇到手机音量太小的问题,尤其是在嘈杂的环境中,如KTV、派对或户外活动时,手机自带的音量往往难以满足需求。今天,我们要介绍的 超级扩音器手机版,就是这样一款由上海聚告德业文化发…...

【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

【6G 开发】NV NGC
配置 生成密钥 API Keys 生成您自己的 API 密钥,以便通过 Docker 客户端或通过 NGC CLI 使用 Secrets Manager、NGC Catalog 和 Private Registry 的 NGC 服务 以下个人 API 密钥已成功生成,可供此组织使用。这是唯一一次显示您的密钥。 请妥善保管您的…...
计算机视觉各类任务评价指标详解
文章目录 计算机视觉各类任务评价指标详解一、图像分类(Image Classification)常用指标1. 准确率(Accuracy)2. Top-k Accuracy3. 精确率(Precision)、召回率(Recall)、F1 分数&#…...

SIEMENS PLC程序解读 -Serialize(序列化)SCATTER_BLK(数据分散)
1、程序数据 第12个字节 PI 2、程序数据 第16个字节 PI 3、程序数据 第76个字节 PO 4、程序代码 2、程序解读 图中代码为 PLC 梯形图,主要包含以下指令及功能: Serialize(序列化): 将 SRC_VARIABLEÿ…...

宁德时代25年时代长安动力电池社招入职测评SHL题库Verify测评语言理解数字推理真题
测试分为语言和数字两部分,测试时间各为17分钟,测试正式开始后不能中断或暂停...
python源码打包为可执行的exe文件
文章目录 简单的方式(PyInstaller)特点步骤安装 PyInstaller打包脚本得到.exe文件 简单的方式(PyInstaller) 特点 支持 Python 3.6打包为单文件(–onefile)或文件夹形式自动处理依赖项 步骤 安装 PyIns…...
数据加密技术:从对称加密到量子密码的原理与实战
数据加密技术:从对称加密到量子密码的原理与实战 在网络安全体系中,数据加密是保护信息机密性、完整性的核心技术。从古代的凯撒密码到现代的量子加密,加密技术始终是攻防博弈的关键战场。本文将深入解析对称加密、非对称加密、哈希函数的核…...
高性能的开源网络入侵检测和防御引擎:Suricata介绍
一、Debian下使用Suricata 相较于Windows,Linux环境对Suricata的支持更加完善,操作也更为便捷。 1. 安装 Suricata 在Debian系统上,你可以通过包管理器 apt 轻松安装 Suricata。 更新软件包列表: sudo apt update安装 Suricata: sudo apt …...

【硬核解析:基于Python与SAE J1939-71协议的重型汽车CAN报文解析工具开发实战】
引言:重型汽车CAN总线的数据价值与挑战 随着汽车电子化程度的提升,控制器局域网(CAN总线)已成为重型汽车的核心通信网络。不同控制单元(ECU)通过CAN总线实时交互海量报文数据,这些数据隐藏着车…...
React类组件与React Hooks写法对比
React 类组件 vs Hooks 写法对比 分类类组件(Class Components)函数组件 Hooks组件定义class Component extends React.Componentconst Component () > {}状态管理this.state this.setState()useState()生命周期componentDidMount, componentDidU…...

Uniapp 自定义 Tabbar 实现教程
Uniapp 自定义 Tabbar 实现教程 1. 简介2. 实现步骤2.1 创建自定义 Tabbar 组件2.2 配置 pages.json2.3 在 App.vue 中引入组件 3. 实现过程中的关键点3.1 路由映射3.2 样式设计3.3 图标处理 4. 常见问题及解决方案4.1 页面跳转问题4.2 样式适配问题4.3 性能优化 5. 扩展功能5.…...

记录一次使用面向对象的C语言封装步进电机驱动
简介 (2025/4/21) 本库对目前仅针对TB6600驱动下的42步进电机的基础功能进行了一定的封装, 也是我初次尝试以面向对象的思想去编写嵌入式代码, 和直流电机的驱动步骤相似在调用stepmotor_attach()函数和stepmotor_init()函数之后仅通过结构体数组stepm然后指定枚举变量中的id即…...

Spark-streaming核心编程
1.导入依赖: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-kafka-0-10_2.12</artifactId> <version>3.0.0</version> </dependency> 2.编写代码: 创建Sp…...
Exposure Adjusted Incidence Rate (EAIR) 暴露调整发病率:精准量化疾病风险
1. 核心概念 1.1 传统发病率的局限性 1.1.1 公式与定义 传统发病率公式为新发病例数除以总人口数乘以观察时间。例如在某社区观察1年,有10例新发病例,总人口1000人,发病率即为10/10001=0.01。 此公式假设所有个体暴露时间和风险相同,但实际中个体差异大,如部分人暴露时间…...

vue3+TS+echarts 折线图
需要实现的效果如下 <script setup lang"ts" name"RepsSingleLineChart">import * as echarts from echartsimport { getInitecharts } from /utils/echartimport type { EChartsOption } from echarts// 定义 props 类型interface Props {id: strin…...
MYSQL中为什么不建议delete数据
在 MySQL 中不建议频繁使用 delete 删除数据的原因主要在于性能、数据安全等方面的问题,以下是具体介绍: 性能问题 磁盘空间与碎片:delete 操作只是将数据标记为 “已删除”,并不会立即释放磁盘空间,频繁执行会导致大量…...
Linux多线程技术
什么是线程 在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元,可理解为 “进程内的一条执行流水线”。 进程和线程的区别 进程是资源分配的基本单位,线程是CPU调度的基本单位。 fork创建出一个新的进程,会创建出一个新的拷贝&…...
12个HPC教程汇总!从入门到实战,覆盖分子模拟/材料计算/生物信息分析等多个领域
在科学研究、工程仿真、人工智能和大数据分析等领域,高性能计算 (High Performance Computing, HPC) 正扮演着越来越重要的角色。它通过并行处理、大规模计算资源的整合,极大提升了计算效率,使原本耗时数日的任务能够在数小时内完成。 随着计…...
[OpenGL] Lambertian材质漫反射BRDF方程的解释与推导
一、简介 本文简单的介绍了 Physical Based Rendering, PBR 中的 Lambertian 材质漫反射BRDF公式 f r l a m b e r t i a n c d i f f π fr_{lambertian}\frac{c_{diff}}{\pi} frlambertianπcdiff的推导。 二、漫反射项 根据 渲染方程: L o ( v ) ∫ …...