Jenkins构建生产CICD环境学习笔记
一、核心基础概念
1.1 Jenkins 概述
Jenkins是一款基于Java开发的开源自动化服务器,由Hudson项目独立衍生而来,遵循MIT开源许可证,是目前主流的CI/CD核心工具,可适配任意规模的项目自动化构建、部署与运维工作,官方网站:https://jenkins.io/。
2026年Jenkins完成UI全新改版,界面更现代化,同时持续迭代AI插件、性能优化、安全插件等能力,社区生态完善,拥有数百款官方插件,可无缝对接各类开发运维工具链。
核心特性
-
部署简单:独立Java程序,仅需war包即可直接运行,无需依赖数据库,支持Windows、Linux、macOS等全平台系统。
-
配置便捷:提供可视化GUI网页配置界面,支持实时错误检测与内置帮助提示,上手门槛低。
-
生态极强:海量官方插件,支持拓展几乎所有CI/CD工具链能力,功能可无限拓展。
-
分布式构建:支持多机器分布式任务分发,大幅提升多平台构建、测试、部署效率。
-
全流程监控:实时监控集成流程,输出详细日志、构建趋势图表,支持邮件、RSS等多渠道结果通知。
-
兼容性广:支持Git、SVN等主流代码仓库,兼容Ant、Maven项目,可执行Shell、Windows批处理命令。
-
测试可视化:支持JUnit、TestNG测试报告解析,以图表形式直观展示测试结果与项目稳定性。
1.2 CI/CD 核心体系
1.2.1 持续集成(CI)
定义:一种软件工程流程,开发人员每日多次将代码变更集成到主干分支,通过自动构建、单元测试验证代码兼容性,核心是高频集成、自动校验。
核心效益
-
及早发现集成bug,修改范围小、问题易追溯,节省项目时间与成本;
-
避免项目末期集中集成引发的版本冲突、程序报错等混乱问题;
-
代码出错可快速回滚少量变更,降低故障恢复成本;
-
持续保证主干代码可运行、可测试、可演示;
-
倒逼开发编写模块化、低复杂度代码,减少代码冗余;
-
杜绝代码分支与主干大幅偏离,规避后期集成难题。
核心特点
全流程自动化(拉取代码、编译构建、运行测试、结果统计自动完成);需专属集成服务器;依赖代码托管工具支撑。
1.2.2 持续交付(CD)
基于持续集成的进阶流程,代码集成校验通过后,自动部署至类生产环境(测试环境、预发布环境)完成全流程测试,可随时手动发布至生产环境。
核心目标:缩短软件迭代周期,实现稳定、高频的软件产出,降低发布风险与研发成本。
1.2.3 持续部署(CD)
持续交付的终极形态,代码通过所有校验流程后,自动部署至生产环境,无需人工干预。
关键区别:持续交付是"可部署但按需手动发布",持续部署是"校验通过即自动部署",实施持续部署必须先落地持续交付。
二、OpenEuler系统 Jenkins 安装部署实操
2.1 环境准备
Jenkins 新版适配Java 21,相较于旧版Java 17,升级后可将内存月均占用从33-34GB降至28GB,大幅优化运行性能,本次部署基于Java 21环境。
2.2 导入官方安装源与密钥
通过官方稳定源安装,保证软件完整性与安全性,执行以下Shell命令:
Plain
# 导入Jenkins官方YUM源
wget -O /etc/yum.repos.d/jenkins.repo --no-check-certificate https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 导入官方密钥,校验安装包合法性
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
2.3 安装依赖与Jenkins服务
Plain
# 安装字体依赖与Java21运行环境
yum install fontconfig java-21-openjdk -y
# 安装稳定版Jenkins
yum install jenkins -y
2.4 初始化登录配置
2.4.1 获取初始管理员密码
Jenkins首次启动需初始密码解锁,密码存储在系统固定路径,执行命令查看:
Plain
cat /var/lib/jenkins/secrets/initialAdminPassword
示例初始密码:fa041812a53a478eb47ae69264731f81
2.4.2 初始化流程
-
浏览器访问Jenkins服务地址,输入初始密码解锁;
-
选择安装推荐插件(基础必备插件),等待插件自动安装完成;
-
自定义创建管理员账号、密码,完成用户初始化;
-
配置系统实例访问地址,确认配置后完成初始化,重启登录;
-
支持后续自主修改管理员登录密码,保障账号安全。
三、Jenkins生产环境核心配置
3.1 必备插件安装
插件是Jenkins拓展功能的核心,生产环境需提前安装刚需插件,提升自动化能力:
3.1.1 Publish Over SSH 插件
核心作用:支持通过SSH协议远程连接服务器,实现构建产物的远程传输、脚本执行、服务部署,是跨服务器自动化部署的核心插件。
3.1.2 Maven Integration 插件
核心作用:适配Maven项目自动化编译、打包、依赖管理,支持自定义Maven命令,适配Java后端项目CI/CD流程。
3.1.3 拓展推荐插件(2026新版亮点)
-
Coverage Plugin:代码覆盖率统计插件,助力项目质量管控;
-
Secret Guard Plugin:自动检测硬编码密钥、配置文件隐秘信息,规避密码、令牌泄露风险;
-
AI聊天机器人插件:辅助新手快速查询Jenkins功能、排查流程问题。
3.2 系统核心参数配置
3.2.1 配置并发执行数量
根据服务器硬件性能,设置Jenkins最大并发构建任务数,避免任务堆积、资源耗尽,平衡执行效率与系统稳定性。
3.2.2 配置邮件通知
配置系统邮箱地址与通知规则,构建成功、失败、异常时自动推送邮件通知,让研发人员实时感知CI/CD流程状态,及时处理故障。
四、补充知识点(2026 Jenkins生态更新)
-
性能优化:Java21版本迭代后,Jenkins内存占用显著降低,运维压力大幅减小,更适配生产长期稳定运行;
-
社区迭代:持续推进AI辅助运维、插件现代化、官网UI/UX优化,降低新手使用门槛;
-
安全升级:新增密钥防护插件、社区安全MVP专项优化,强化生产环境数据安全;
-
开源生态:持续开放GSoC开源项目,迭代智能化、可视化功能,工具生态持续完善。
(注:文档部分内容可能由 AI 生成)