一、Jenkins 介绍
定义:开源自动化服务器,核心定位是实现持续集成(CI)与持续部署(CD)
发展背景:由 Hudson 衍生,目前是 DevOps 流程中最主流的自动化工具之一
核心功能:
- 持续集成(CI):自动触发代码构建、单元测试、静态代码分析,快速反馈代码问题
- 持续部署(CD):通过流水线自动将合格代码部署到开发 / 测试 / 生产环境
插件生态:支持 1000 + 插件,覆盖代码仓库(Git/GitHub)、构建工具(Maven/Gradle)、部署工具(Docker/K8s)、通知工具(邮件 / Slack)等场景
流水线即代码(Pipeline as Code):通过 Jenkinsfile 定义自动化流程,支持版本控制与复用
分布式构建:主节点管理任务,从节点(Agent)执行构建,提升大型项目效率
应用场景
后端项目(Java/Python/Go 等):自动编译、打包、测试、部署
前端项目(Vue/React 等):自动安装依赖、打包静态资源、部署到 Nginx
移动端项目(Android/iOS):自动构建安装包、上传应用商店
基础设施自动化:配合 Ansible/SaltStack 实现服务器配置自动化
二、Jenkins 的安装部署
1. 环境准备
- 硬件要求:最低 2 核 CPU、2GB 内存(生产环境建议 4 核 8GB 以上)
- 软件依赖:需提前安装 JDK(Jenkins 基于 Java 开发,推荐 JDK8/11,注意:Jenkins 2.357 + 不再支持 JDK8)
2. 下载 Jenkins
1、官方源
2、三方源
jenkins-redhat-stable安装包下载_开源镜像站-阿里云
[root@localhost ~] wget https://mirrors.aliyun.com/jenkins/redhat-stable/jenkins-2.516.2-1.1.noarch.rpm
[root@localhost ~] yum localinstall -y jenkins-2.452.2-1.1.noarch.rpm
# yum install 包名 主要用于安装 远程 yum 仓库中已有的软件(通过包名而非本地文件);
# yum localinstall 本地包.rpm 专门用于安装 本地已下载的 .rpm 文件,同时兼具依赖处理能力。
三、常用插件推荐
gitee、maven、ssh
- 代码仓库类:Git Plugin(Git 支持)、GitHub Plugin(GitHub 集成)、Subversion Plugin(SVN 支持)
- 构建工具类:Maven Integration Plugin、Gradle Plugin、NodeJS Plugin
- 部署工具类:Deploy to Container Plugin(部署到 Tomcat)、Docker Plugin(Docker 构建与推送)、Kubernetes Plugin(K8s 部署)
- 通知工具类:Email Extension Plugin(邮件通知)、Slack Notification Plugin(Slack 消息)
- 流水线增强:Pipeline Utility Steps Plugin(提供更多流水线步骤)、Blue Ocean(可视化流水线界面)
远程 SSH 部署工具:Publish Over SSH 插件
3. 初始化 Jenkins
- 访问 Jenkins:打开浏览器,输入http://服务器IP:8080(首次访问需等待初始化)
- cat /var/lib/jenkins/secrets/initialAdminPassword //获取初始管理员密码
(1)插件安装选择:
- 推荐插件:自动安装 CI/CD 常用插件(如 Git、Maven Integration、Publish Over SSH 、localization-zh-cn 等),适合新手
- 选择插件来安装:自定义勾选插件(建议至少勾选 “Git Plugin”“Pipeline”“Credentials Binding”)
(2)创建管理员用户:输入用户名、密码、邮箱(后续登录使用,若跳过则默认使用 admin + 初始密码)
(3)配置实例地址:默认显示当前访问地址,确认无误后点击 “保存并完成”
三、Jenkins 基本配置(初始化后必做)
全局工具配置(系统管理 → 全局工具配置)
- JDK:自动安装或指定本地 JDK 路径(需取消 “自动安装”,输入别名和路径,如/usr/lib/jvm/java-11-openjdk)
- Maven/Gradle:配置构建工具路径(前端项目需配置 NodeJS)
- Git:指定 Git 安装路径(如/usr/bin/git)
1、获取自己gitee的私人令牌
2、右上-设置-System
(1)Jenkins Location
(2)Gitee 配置
(3)Publish over SSH

3、右上-设置-Tools
四、jenkens部署任务
1、创建第一个项目(tomcat)
Save-
生成一串数字-复制-打开gitlib(Day 44)
2、部署springboot项目
准备:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| dian |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.01 sec)
[root@na-host-2 ~] java -version
# java version "1.8.0_91"
[root@na-host-2 ~] mvn -version
# Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
# Maven home: /usr/local/maven36
# Java version: 1.8.0_91, vendor: Oracle Corporation, runtime:
(1)方式1,git上改好
(2)方式2
相关文章:
深入解析:【Day 52 】Linux-Jenkins
深入解析:【Day 52 】Linux-Jenkinspre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important;…...
本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析
本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析 在数字化转型浪潮下,代码管理工具已成为开发者日常工作的必备基础设施。面对国内外众多选择,新手开发者往往陷入选择困难。本文将从本土化开发视角,深入剖析主流代码管理工具的差异化优势,为开发者提供科学的选…...
MES系统核心组件
核心总览 在半导体工厂中,MES(Manufacturing Execution System,制造执行系统) 是最高层的指挥中枢,它负责管理生产线上从投料开始到成品产出的全部作业流程。而其他各种“XX Server”则是MES这个大脑指挥下的专业功能模块,负责处理特定类型的任务和数据。 各服务器功能详…...
易基因:多组学整合分析揭示DNA甲基化与基因组改变在肿瘤进化中的协同驱动机制|Nat Genet/IF29重磅
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近日,伦敦大学学院癌症研究所Nnennaya Kanu和弗朗西斯克里克研究所Peter Van Loo团队合作在国际遗传学Top期刊《自然遗传学》(Nature Genetics)发表题为“DNA methylation cooperates with genomic alterat…...
AI 视频模型大比拼(2025年7月版):价格、效果与分辨率
AI 视频模型大比拼(2025年7月版):价格、效果与分辨率pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", mon…...
为什么芯片行业需要私有化部署软件?
在芯片研发过程中,每天产生的大量设计数据、测试结果和知识产权,构成了企业的核心竞争优势。一旦这些数据泄露,不仅可能导致数百万美元的研发投入付诸东流,更可能让企业在全球竞争中失去领先地位。 近年来,芯片行业面临的数据安全挑战日益严峻。根据行业报告,2024年芯片设…...
C++ std::string
C++ 标准库中的 std::string 是处理字符串的核心类,封装了字符串的存储、管理和操作,相比 C 风格的 char* 更安全、易用。 1、基本概念 1.1 基本特性 std::string 定义在 <string> 头文件中(属于 std 命名空间),本质是对动态字符数组的封装动态大小:自动扩容,无需…...
MathType数学公式编辑器v7.9.1
MathType全球最受欢迎的专业数学公式编辑器工具软件,可视化公式编辑器轻松创建数学方程式和化学公式。兼容Office Word、PowerPoint、Pages、Keynote、Numbers 等700多种办公软件,用于编辑数学试卷、书籍、报刊、论文、幻灯演示等文档轻松编写各种复杂的物理公式、化学方程式…...
git常见冲突场景及解决办法 - 指南
git常见冲突场景及解决办法 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; f…...
有关字节的基础知识
什么是字节位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写B来表示。字符:是指计算机中使用的字母、数字、字和符号 1bit表示一位 1Byte表示一个字节 1B=8b 1024B=1KB 1024KB=1M 102…...
strip去符号前后对比
strip去符号前后对比 strip 是 binutils 中用于给二进制文件(可执行程序、静态库、动态库)去符号信息的工具。它只修改符号表,不碰指令内容,因此去除符号后的二进制文件中,各部分指令和原来是完全一一对应的,各section大小和偏移也不变,各符号的偏移也不变,只是原本的指…...
2025 ICPC网络赛第一场 L cover
给一个长度为 \(n\) 的序列 \(\{a_n\}\) 和 \(m\) 个操作,其中第 \(i\) 个操作是把区间 \([l_i,r_i]\) 都赋值为 \(c_i\)。 现在按顺序遍历每个操作,每个操作可执行可不执行。 最大化序列的颜色段数,即 \(1+\sum\limits_{i=2}^n[a_{i-1}\not=a_i]\)。 \(1\leq a_i,c_i\leq n…...
文件自动同步软件用哪个好,高效选择指南
内容概要 在数字化办公日益普及的今天,文件自动同步软件已成为提升团队协作效率的重要工具。面对市场上琳琅满目的选择,“文件自动同步软件用哪个好”成为了许多企业IT管理者和个人用户共同关注的问题。本指南将深入剖析各类文件自动同步软件的核心优势,特别推荐如Ftrans FT…...
【初赛】指针 - Slayer
指针的性质是理解其行为和使用方式的核心,主要包括以下几个方面: 1. 指针是存储地址的变量 指针的本质是一个变量,但其存储的不是数据本身,而是另一个变量(或内存单元)的内存地址。例如:int a = 10; int* p = &a; 中,p 存储的是 a 的内存地址(如 0x7ffd6b6a45c4)…...
国产化FPGA-2050-基于JFMK50T4(XC7A50T)的核心板
基于JFMK50T4(XC7A50T)的核心板(IEB-PS-3051-邮票孔) 一、核心板概述板卡基于JFMK50T4国产化FPGA芯片,设计的一款工业级核心板,板卡集成主芯片、电源、DDR、配置芯片,大大减轻客户的扩展开发困难。丰富的IO和4个GTP,让用户轻易设计PCIe的数据卡,AD卡,结合本公司国产…...
hbase学习2
一、表管理操作创建表 hbase create 表名, 列族1, 列族2, ...示例:创建student表,有info和score两个列族 create student, info, score 2. 查看所有表 hbase list 3. 查看表描述 hbase describe 表名 describe student 4. 检查表是否存在 hbase exists 表名 5. 禁用/启用表 h…...
基于Python+Vue开发的健身房管理系统源码+运行步骤
项目简介该项目是基于Python+Vue开发的健身房管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的健身房管理系统项目,大学生可以在实践中学习和提升…...
2025年纷享销客生态伙伴大会无锡站圆满举办!
近日,2025年纷享销客生态伙伴大会(无锡站)成功举办。大会以“智享未来,领创 CRM 新纪元”为主题,吸引了众多生态伙伴齐聚一堂,共话 CRM 行业新趋势,共探 AI 赋能下的客户经营新范式。一、数智化浪潮下的CRM变革与机遇<纷享销客经营副总裁 张睿> 纷享销客经营副总…...
英语_阅读_digital technology_待读
These days, digital technology is everywhere in our lives.如今,数字科技无处不在地出现在我们的生活中。 From smartphones to tablets, we use digital devices every day at school, at home and when hanging out with friends.从智能手机到平板电脑,我们每天在学校、…...
达梦 两个bug json 导致数据库crash 和 优化器解析or 导致结果不一样
##sample1 无法解析 json 数据库直接crash. 分析函数,定位到BUG 升级数据库软件,问题得到规避 ########sample 2 优化器解析or 导致结果不一样--测试1 原有的查询顺序,查到空行。 SQL> SELECT coltablename,DONO,colupdateable,colupdateableFROM SEBMDEV.DATAOBJECT…...
MySQL迁移至GreatSQL后,timestamp字段插入报错解析
MySQL迁移至GreatSQL后,timestamp字段插入报错解析 背景描述 某业务系统进行国产化适配,将MySQL的数据迁移到 GreatSQL 后,执行 INSERT INTO ,update_time传参为空时报错,报错信息为:ERROR 1048 (23000): Column update_time cannot be null ,而原来旧的MySQL环境中没有这…...
2025年文件摆渡系统哪个品牌好推荐
内容概要 在寻找文件摆渡系统的过程中,企业往往关心哪个品牌能够更好地满足其安全、高效的数据交换需求。2025年,市场上涌现出众多品牌,但“文件摆渡系统哪个品牌好”这一问题,不少企业给出了共同的答案——Ftrans Ferry跨网文件安全交换系统。该系统凭借其全面的安全防护、…...
VU9P板卡设计方案:565-基于VU9P的32@ SFP28+4@ QSFP28路光纤交换板卡
、板卡概述 板卡基于Xilinx FPGA VU9P 设计的一款32路SFP28+4路QSFP28的光纤交换板卡,用于以太网的交换功能的验证。 二、板卡原理框图三、板卡主要性能 ● 主芯片:选用 XCVU9P-2FLGB2104I(702, 76)47.5*47.5 ● 32路SFP28,支持1G、10G以太网协议; 1G,10G 自动适配。 ●…...
Python中使用列表、map和filter函数配合lambda表达式来操作集合
在 Python 中,map()、filter() 和 lambda 表达式是处理集合(如列表)的常用工具,可以快速实现 转换 和 过滤 操作。以下是具体示例:1. map() 函数:对列表元素进行转换 作用: 对列表的每个元素应用一个函数,返回转换后的元素组成的迭代器。 语法: map(function, iterabl…...
大模型decoder中权重矩阵的理解 - 实践
大模型decoder中权重矩阵的理解 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !importan…...
文件安全外发平台用哪个,最佳选择是什么?
内容概要 在探讨文件安全外发平台用哪个这一话题时,我们首先要对文件安全外发平台有一个全面的了解。这类平台主要用于确保企业文件在外部传输过程中的安全性,防止数据泄露。市面上存在多种文件安全外发平台,它们各有千秋。而要说到安全管控强大且稳定传输大文件的平台,“F…...
【初赛】数 - Slayer
0x3f3f3f3f = 1061109567 0x7f7f7f7f = 2139062143 0x7fffffff = 2147483647 0xffffffff = 4294967295 0x1fffffff = 536870911 0x1f1f1f1f = 522133279...
http连接(webFlux vs tomcat)
HTTP连接的最大数量不是一个固定的值,它取决于一个由硬件资源、操作系统配置、网络栈、以及应用程序本身共同构成的复杂系统。 简单来说:在一台配置良好的现代服务器上,使用异步非阻塞模型(如WebFlux),支持超过100万甚至更多的并发HTTP连接在理论上是可行的。 而对于传统…...
英语_阅读_Generative AI_待读
Artificial Intelligence (AI) has become part of our everyday life.人工智能(AI)已经成为我们日常生活的一部分。 It makes our smart devices smarter.它让我们的智能设备变得更聪明。 You might have already used some AI programs at school.你可能已经在学校使用过一…...
P8500 [NOI2022] 冒泡排序 题解
Description 最近,小 Z 对冒泡排序产生了浓厚的兴趣。 下面是冒泡排序的伪代码: 输入: 一个长度为 n 的序列 a[1...n] 输出: a 从小到大排序后的结果 for i = 1 to n do:for j = 1 to n - 1 doif (a[j] > a[j + 1])交换 a[j] 与 a[j + 1] 的值冒泡排序的交换次数被定义为在…...
【初赛】链表 - Slayer
链表性质知识点总结 链表是一种线性数据结构,其核心特点是数据元素(称为 “节点”)通过指针或引用连接,而非像数组那样存储在连续的内存空间中。这种结构决定了它与数组截然不同的性质,适用于频繁插入 / 删除、内存动态分配的场景。 一、链表的核心定义与结构基本构成链表…...
纷享销客CRM系统自定义APL代码破解企业深度定制难题
在许多中大型企业,尤其是央企、金融、高科技等行业,对 CRM 系统提出了更为复杂的业务流程定制需求。尽管零代码、低代码配置工具有一定的灵活性,但在面对高度复杂、深度融合业务逻辑的安全机制或特殊流程时,仍显乏力。 为此,纷享销客提供了服务端代码级定制能力,通过自定…...
第2章 zynq开发板FSBL的生成和NAND烧录
前言 由于本人较懒,记录主要是过程,由于zynq的比stm32做的人少很多,资料也少很多,我会简要介绍原理,操作流程主要由图片加少量文字组成,每一章都是在之前的章节基础上做的一、新建FSBL工程 打开vivado,打开SDK打开后会自动根据之前生成的HDF自动生成硬件平台新建一个FSB…...
工具大全
<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><title>工具大全</title><style>/*全…...
RocketMQ vs kafka
目录背景和价值1. 更激进的“零拷贝”技术2. 更简洁的存储模型3. 更“粗糙”但高效的批处理4. 权衡取舍的可靠性保证对比总结参考资料 背景和价值 你这个问题非常好,直击了两者设计哲学的核心差异。 简单来说,Kafka 更快,并非因为它的代码效率绝对更高,而是因为它的设计目标…...
JL-32 土壤速测仪 手持便携 大容量 多参数可同时监测
JL-32 土壤速测仪 手持便携 大容量 多参数可同时监测产品概述 土壤速测仪是一款携带方便,操作简单,集采集与存储于一体的可移动式观测仪器。由手持式速测主机、土壤类传感器、USB数据线、电源适配器、便携式手提箱等部分组成。速测仪主机可通过集线器接入不同类型的传感器,互…...
直播录制神器!一款多平台直播流自动录制客户端!
StreamCap —— 一个基于 FFmpeg 和 StreamGet 的多平台直播流录制客户端,覆盖 40+ 国内外主流直播平台,支持批量录制、循环监控、定时监控和自动转码等功能。大家好,我是 Java陈序员。 现如今,观看直播已成为日常生活中的一种娱乐消遣方式,但常常由于一些不可抗的原因错过…...
101.计组--二章
101.计组--二章数据的表示和运算 "自六月份另一个学校毕业 已经有拖三个多月的计组学习 当时其实已经已有一些学习 仅仅差了一节内容结束 也确实因为这个复杂的运算各类东西 言归正传 新的学校 新的学习 开始总结"先看一下总的还是分为三大块 三步走 一.数制 编码 先…...
LobeChat搭建
步骤 docker search lobe-chat docker pull lobehub/lobe-chat docker run -d -p 3210:3210 -e ACCESS_CODE=lobe66 --name lobe-chat lobehub/lobe-chat docker ps访问 http://localhost:3210 相关的key进入网页再配置,不必加入到docker run中。本文来自博客园,作者:潇汀…...
长园智能装备遇上利驰SuperHarness-3D,实现充电桩线束设计效率与精度双提升!
利驰数字线束软件,赋能长园智能装备充电桩线束智造。设计案例:感谢南瑞、盛弘、长园等众多充电桩龙头企业,选择利驰数字线束[抱拳][抱拳][抱拳]...
学习笔记:操作分块 / 根号重构
感谢校内模拟赛给我强行灌输了这个东西。。。 概述 操作分块 / 根号重构,又名时间轴分块,可以解决需要多次修改和查询的问题,常常难以直接维护。 借鉴序列分块的思想,我们设定一个阈值 \(B\),将连续 \(B\) 次操作视为一块。考虑一次查询操作,将对它产生影响的修改分为两类…...
url测试脚本3
#!/bin/sh . /etc/init.d/functions# 待检测的 URL 列表 array=("http://mail.163.com""http://mail.sina.com/" )# 等待效果,输出进度 wait_for_start() {echo -n "Start Curl_check"for n in 1 2 3; doecho -n " ."sleep 1doneecho…...
深入解析:linux基本知识
深入解析:linux基本知识pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size:…...
解决方案架构师是做什么
解决方案架构师 面试题 客户是怎么管理的 渠道变革变换的是哪些内容。变的是什么? 分层分级是怎么设计,价格体系是怎么制定的 marking 是怎么做的? CAP模型,是怎么管理的, 营销活动和销售是如何结合的,IT解决方案是什么 职责 懂业务,梳理解决方案。 技术架构 1 号项目。…...
鸿蒙应用开发从入门到实战(九):ArkTS渲染控制
ArkTS拓展了TypeScript,可以结合ArkUI进行渲染控制,是的界面设计具有可编程性。本文简要描述鸿蒙应用开发中的条件渲染和循环渲染。大家好,我是潘Sir,持续分享IT技术,帮你少走弯路。《鸿蒙应用开发从入门到项目实战》系列文章持续更新中,陆续更新AI+编程、企业级项目实战…...
C# 2025年6-9月TIOBE排名增长及未来展望
根据 TIOBE 编程语言排行榜 2025 年 6 月至 9 月的公开数据,C# 的排名和市场份额变化如下(综合多个月份数据整理):一、 C# 在 2025 年 TIOBE 排行榜的连续增长趋势2025 年 6 月排名:第 5 位市场份额:4.69%2025 年 7 月排名:第 5 位市场份额:4.87%2025 年 8 月排名:第 …...
一个基于 .NET 开源、简易、轻量级的进销存管理系统
前言 最近有小伙伴在后台留言问:.NET 有值得推荐学习的进销存管理系统吗?今天大姚给大家推荐一个基于 .NET 开源、简易、轻量级的进销存管理系统:JxcLite。 项目介绍 JxcLite 是一个基于 Known 框架开发(基于 .NET Blazor 轻量级、跨平台、低代码、易扩展的插件开发框架)、…...
采用tree命令导出文件夹/文件的目录树(linux)
采用tree命令导出文件夹/文件的目录树(linux)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !…...
The 2024 ICPC Asia East Continent Online Contest (I) 4/12 A/F/G/M
M. Find the Easiest Problem 签到题,直接模拟即可点击查看代码 #include<bits/stdc++.h> #define int long long using namespace std; using pii=pair<int,int>; using ll = long long; using ull = unsigned long long; const ll inf = 1e18; const int mod = …...
深入解析 JVM 类加载机制:从字节码到运行时对象
一、概述:为什么需要类加载? Java 语言的核心特性之一是"一次编写,到处运行",这背后的关键在于 Java 虚拟机(JVM)和其类加载机制。当我们编写好 Java 代码并将其编译为 .class 字节码文件后,这些静态的字节码需要被加载到 JVM 中才能变为可执行的动态对象。类…...