深入解析:【Day 52 】Linux-Jenkins

news/2025/9/19 10:25:30/文章来源:https://www.cnblogs.com/lxjshuju/p/19100248

一、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

  1. 代码仓库类:Git Plugin(Git 支持)、GitHub Plugin(GitHub 集成)、Subversion Plugin(SVN 支持)
  2. 构建工具类:Maven Integration Plugin、Gradle Plugin、NodeJS Plugin
  3. 部署工具类:Deploy to Container Plugin(部署到 Tomcat)、Docker Plugin(Docker 构建与推送)、Kubernetes Plugin(K8s 部署)
  4. 通知工具类:Email Extension Plugin(邮件通知)、Slack Notification Plugin(Slack 消息)
  5. 流水线增强:Pipeline Utility Steps Plugin(提供更多流水线步骤)、Blue Ocean(可视化流水线界面)
  6. 远程 SSH 部署工具:Publish Over SSH 插件

3. 初始化 Jenkins
  1. 访问 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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析

本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析 在数字化转型浪潮下,代码管理工具已成为开发者日常工作的必备基础设施。面对国内外众多选择,新手开发者往往陷入选择困难。本文将从本土化开发视角,深入…

MES系统核心组件

核心总览 在半导体工厂中,MES(Manufacturing Execution System,制造执行系统) 是最高层的指挥中枢,它负责管理生产线上从投料开始到成品产出的全部作业流程。而其他各种“XX Server”则是MES这个大脑指挥下的专业…

易基因:多组学整合分析揭示DNA甲基化与基因组改变在肿瘤进化中的协同驱动机制|Nat Genet/IF29重磅

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 近日,伦敦大学学院癌症研究所Nnennaya Kanu和弗朗西斯克里克研究所Peter Van Loo团队合作在国际遗传学Top期刊《自然遗传学》(Nature Genetics)发…

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&…

为什么芯片行业需要私有化部署软件?

在芯片研发过程中,每天产生的大量设计数据、测试结果和知识产权,构成了企业的核心竞争优势。一旦这些数据泄露,不仅可能导致数百万美元的研发投入付诸东流,更可能让企业在全球竞争中失去领先地位。 近年来,芯片行…

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&…

有关字节的基础知识

什么是字节位(bit):是计算机 内部数据 存储的最小单位,11001100是一个八位二进制数。字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写B来表示。字符:是指计算机中使用的字母、数字、字和符号 1bit表…

strip去符号前后对比

strip去符号前后对比 strip 是 binutils 中用于给二进制文件(可执行程序、静态库、动态库)去符号信息的工具。它只修改符号表,不碰指令内容,因此去除符号后的二进制文件中,各部分指令和原来是完全一一对应的,各s…

2025 ICPC网络赛第一场 L cover

给一个长度为 \(n\) 的序列 \(\{a_n\}\) 和 \(m\) 个操作,其中第 \(i\) 个操作是把区间 \([l_i,r_i]\) 都赋值为 \(c_i\)。 现在按顺序遍历每个操作,每个操作可执行可不执行。 最大化序列的颜色段数,即 \(1+\sum\li…

实用指南:22 C++11 初始化新姿势:{} 统一初始化(省等号)+initializer_list 底层解析

实用指南:22 C++11 初始化新姿势:{} 统一初始化(省等号)+initializer_list 底层解析2025-09-19 10:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important;…

第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025)

第九届电气、机械与计算机工程国际学术会议(ICEMCE 2025) 2025 9th International Conference on Electrical, Mechanical and Computer Engineering ICEMCE系列会议属一年一度的国际学术会议,因其影响力及重要性,…

第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)

第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025) 2025 6th International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering 第六届大数据、人工智能与物联网工程国际…

文件自动同步软件用哪个好,高效选择指南

内容概要 在数字化办公日益普及的今天,文件自动同步软件已成为提升团队协作效率的重要工具。面对市场上琳琅满目的选择,“文件自动同步软件用哪个好”成为了许多企业IT管理者和个人用户共同关注的问题。本指南将深入…

【初赛】指针 - Slayer

指针的性质是理解其行为和使用方式的核心,主要包括以下几个方面: 1. 指针是存储地址的变量 指针的本质是一个变量,但其存储的不是数据本身,而是另一个变量(或内存单元)的内存地址。例如:int a = 10; int* p = &…

国产化FPGA-2050-基于JFMK50T4(XC7A50T)的核心板

基于JFMK50T4(XC7A50T)的核心板(IEB-PS-3051-邮票孔) 一、核心板概述板卡基于JFMK50T4国产化FPGA芯片,设计的一款工业级核心板,板卡集成主芯片、电源、DDR、配置芯片,大大减轻客户的扩展开发困难。丰富的IO和…

hbase学习2

一、表管理操作创建表 hbase create 表名, 列族1, 列族2, ...示例:创建student表,有info和score两个列族 create student, info, score 2. 查看所有表 hbase list 3. 查看表描述 hbase describe 表名 describe stude…

exl 表格手动导入mysql

exl 表格手动导入mysql数据如,有一份exl表格如何整理成导入的sql A 35 =A2&B2 ="""&"&C2&"&"""&"," ="""&if("…

基于Python+Vue开发的健身房管理系统源码+运行步骤

项目简介该项目是基于Python+Vue开发的健身房管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于P…