当前位置: 首页 > news >正文

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

一、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.hskmm.com/?act=detail&tid=9414

相关文章:

  • 本土开发者如何选择代码管理工具?Gitee与GitHub深度对比解析
  • MES系统核心组件
  • 易基因:多组学整合分析揭示DNA甲基化与基因组改变在肿瘤进化中的协同驱动机制|Nat Genet/IF29重磅
  • AI 视频模型大比拼(2025年7月版):价格、效果与分辨率
  • 为什么芯片行业需要私有化部署软件?
  • C++ std::string
  • MathType数学公式编辑器v7.9.1
  • git常见冲突场景及解决办法 - 指南
  • 有关字节的基础知识
  • strip去符号前后对比
  • 2025 ICPC网络赛第一场 L cover
  • 文件自动同步软件用哪个好,高效选择指南
  • 【初赛】指针 - Slayer
  • 国产化FPGA-2050-基于JFMK50T4(XC7A50T)的核心板
  • hbase学习2
  • 基于Python+Vue开发的健身房管理系统源码+运行步骤
  • 2025年纷享销客生态伙伴大会无锡站圆满举办!
  • 英语_阅读_digital technology_待读
  • 达梦 两个bug json 导致数据库crash 和 优化器解析or 导致结果不一样
  • MySQL迁移至GreatSQL后,timestamp字段插入报错解析
  • 2025年文件摆渡系统哪个品牌好推荐
  • Python中使用列表、map和filter函数配合lambda表达式来操作集合
  • 大模型decoder中权重矩阵的理解 - 实践
  • 文件安全外发平台用哪个,最佳选择是什么?
  • 【初赛】数 - Slayer
  • http连接(webFlux vs tomcat)
  • 英语_阅读_Generative AI_待读
  • P8500 [NOI2022] 冒泡排序 题解
  • 【初赛】链表 - Slayer
  • 纷享销客CRM系统自定义APL代码破解企业深度定制难题