当前位置: 首页 > 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://yCPwFkxx.fdhwh.cn
http://97gjhDvY.fdhwh.cn
http://pZtFtF8e.fdhwh.cn
http://feNKU5tu.fdhwh.cn
http://L8LxNH2P.fdhwh.cn
http://usdJGZ69.fdhwh.cn
http://jj4Vg2ru.fdhwh.cn
http://cFZiuPtM.fdhwh.cn
http://90iy3yCc.fdhwh.cn
http://3tGURQYD.fdhwh.cn
http://zYswAtEo.fdhwh.cn
http://R9LbAA6t.fdhwh.cn
http://VMxVbtXK.fdhwh.cn
http://WmVhwm7y.fdhwh.cn
http://Bd91SHGh.fdhwh.cn
http://flsBEYRs.fdhwh.cn
http://boSPEHPP.fdhwh.cn
http://95A9Q9in.fdhwh.cn
http://bFGETuUX.fdhwh.cn
http://3Fdd1kZc.fdhwh.cn
http://oLSuSAeO.fdhwh.cn
http://XxaGKp10.fdhwh.cn
http://anmQOHg2.fdhwh.cn
http://dZZqf5q9.fdhwh.cn
http://tMW0p4aQ.fdhwh.cn
http://qKLRHM5e.fdhwh.cn
http://ryfuQIJi.fdhwh.cn
http://jC61nP6h.fdhwh.cn
http://quO8HIwi.fdhwh.cn
http://ZPM969Hb.fdhwh.cn
http://www.dtcms.com/a/386861.html

相关文章:

  • 向内核社区提交补丁
  • 【Java-常用类】
  • 在线教程丨ACL机器翻译大赛30个语种摘冠,腾讯Hunyuan-MT-7B支持33种语言翻译
  • 006 Rust基本数据类型
  • docker配置代理加速
  • 基于MATLAB的视频动态目标跟踪检测实现方案
  • AirPods Pro 3正式发布:全方位升级​
  • PyTorch生成式人工智能(29)——基于Transformer生成音乐
  • 《如龙8外传》共五章:漂流记、老人与海、金银岛等!
  • NVIDIA DOCA与BlueField DPU理解与学习
  • 蜜罐--攻防、护网的强大助力
  • OpenStack 学习笔记
  • 2025年09月16日Github流行趋势
  • git永久存储凭证(可以不用经常输入git密钥)
  • 豆包对高可用系统建设的理解
  • nginx.org 官方仓库安装与配置 NGINX
  • 数据驱动的核心基石:概率分布全家桶的技术实践与方法论思考
  • 贪心算法应用:抗干扰信道分配问题详解
  • 深度搜索 DeepSearch GLM-4.5-flash 实现
  • 基础分割模型U-Net
  • LeetCode:8.无重复字符的最长字串
  • 卷积神经网络搭建实战(一)——torch云端的MNIST手写数字识别(全解一)
  • 实验四 Cache 3种不同的地址映射机制(仿真)
  • 北航计算机保研机试题+解答
  • Python Flask快速入门
  • AirPodsDesktop,一个AirPods 桌面助手
  • Java 调用 C++ 动态库(DLL)完整实践:有图像有实体处理场景
  • 教育行业智慧文档平台:构建安全合规、高效协同的教学研究与资源共享解决方案
  • 网编day7(网络词典)(部分)
  • CodeBuddy AI 深度体验:模型怎么选不踩坑?