Jenkins 全面详解
Jenkins 是一款开源的自动化服务器工具,核心定位是 持续集成(CI)/持续部署(CD)平台,支持从代码提交、构建、测试到部署的全流程自动化,广泛应用于软件开发全生命周期管理。

一、Jenkins 核心概念与核心特性
1. 核心概念
- 节点(Node):执行构建任务的服务器(可是本地主机或远程服务器,支持 Windows/Linux/macOS)。
- 任务(Job):Jenkins 的最小执行单元,可配置构建步骤(如拉取代码、编译、测试、部署)。
- 流水线(Pipeline):将构建流程以代码形式定义(支持 Groovy 语法),实现“构建即代码(Infrastructure as Code)”,可版本控制、复用性强。
- 插件(Plugin):Jenkins 核心功能通过插件扩展,支持源码管理(Git/SVN)、构建工具(Maven/Gradle)、部署工具(Docker/K8s)、通知工具(邮件/钉钉)等。
- 工作空间(Workspace):每个任务的独立工作目录,用于存储代码、构建产物等临时文件。
2. 核心特性
- 全平台支持:兼容 Windows、Linux、macOS 等主流操作系统。
- 插件生态丰富:官方插件市场拥有 1000+ 插件,覆盖开发、测试、部署全流程需求。
- 灵活的流水线能力:支持声明式(简洁易用)和脚本式(灵活定制)流水线,适配复杂构建场景。
- 分布式构建:可将构建任务分发到多个节点执行,减轻主服务器压力,提升构建效率。
- 可视化界面:Web 端管理界面直观,支持任务配置、构建日志查看、进度监控等。
- 集成能力强:与 GitLab、GitHub、Jira、Docker、Kubernetes 等主流工具无缝集成。
二、Jenkins 优势分析
- 开源免费:无商业授权费用,降低企业运维成本,社区活跃,问题解决资源丰富。
- 高度可定制:通过插件和流水线脚本,可适配各种开发语言(Java、Python、Go 等)和项目类型(Web 应用、移动端、微服务)。
- 自动化效率高:一键触发全流程自动化(拉取代码 → 编译 → 单元测试 → 打包 → 部署),减少人工操作失误,缩短交付周期。
- 跨平台兼容性:支持 Windows、Linux 等多系统部署,适配团队混合开发环境。
- 分布式构建支持:适合大型项目或多团队协作,可横向扩展构建能力。
- 成熟稳定:经过多年迭代,稳定性和可靠性得到行业验证,广泛应用于互联网、金融、电商等领域。
三、Jenkins 劣势分析
- 学习成本较高:尤其是流水线脚本(Groovy 语法)和复杂插件配置,新手需要一定时间上手。
- 运维成本高:需手动维护插件更新、节点管理、权限配置,大型团队需专人负责运维。
- 界面较陈旧:Web 界面设计偏传统,相比 GitLab CI、GitHub Actions 等工具的现代化界面,用户体验稍差。
- 资源占用较大:Jenkins 主服务基于 Java 开发,运行时占用内存和 CPU 资源较多,低配服务器可能出现卡顿。
- 安全性需额外配置:默认配置下存在安全风险(如弱密码、未授权访问),需手动开启权限认证、HTTPS、插件安全审计等。
- 复杂场景配置繁琐:多环境部署、多分支管理等场景需大量插件组合和脚本编写,配置门槛较高。
四、Jenkins 跨平台部署指南(Windows + Linux)
前置条件
- 安装 Java 8 或 Java 11(Jenkins 最新版本推荐 Java 11,兼容性更好)。
- 网络通畅(需下载 Jenkins 安装包和插件)。
1. Windows 系统部署(以 Windows 10/11 为例)
步骤 1:安装 Java 环境
- 下载 JDK 8/11(推荐从 Oracle 官网 或 OpenJDK 下载)。
- 安装 JDK 后,配置环境变量:
- 新建系统变量
JAVA_HOME,值为 JDK 安装路径(如C:\Program Files\Java\jdk1.8.0_301)。 - 编辑系统变量
Path,添加%JAVA_HOME%\bin。
- 新建系统变量
- 验证:打开命令提示符(CMD),输入
java -version,显示 Java 版本即配置成功。
步骤 2:安装 Jenkins
- 下载 Jenkins 安装包:从 Jenkins 官网 下载 Windows 版本(
.msi格式)。 - 双击安装包,按向导步骤操作:
- 默认安装路径:
C:\Program Files\Jenkins(可自定义)。 - 端口配置:默认 8080(若端口被占用,可修改为其他端口如 8081)。
- 服务账户:默认使用本地系统账户,无需修改。
- 默认安装路径:
- 安装完成后,Jenkins 会自动启动,并在浏览器打开
http://localhost:8080。
步骤 3:初始化 Jenkins
- 解锁 Jenkins:根据页面提示,从
C:\Program Files\Jenkins\secrets\initialAdminPassword文件中获取初始密码,输入后点击“继续”。 - 安装插件:
- 推荐选择“安装推荐的插件”(适合新手,包含 Git、Maven、Pipeline 等常用插件)。
- 若需自定义插件,可选择“选择插件来安装”,勾选所需插件(如 Docker、钉钉通知等)。
- 创建管理员账户:输入用户名、密码、邮箱,完成初始化。
- 访问 Jenkins:登录后即可进入 Jenkins 主界面,开始配置任务。
步骤 4:Windows 下 Jenkins 常用操作
- 启动/停止服务:控制面板 → 管理工具 → 服务 → 找到“Jenkins”,右键选择启动/停止。
- 修改端口:编辑
C:\Program Files\Jenkins\jenkins.xml,找到<arguments>中的--httpPort=8080,修改为目标端口(如 8081),重启服务生效。
2. Linux 系统部署(以 CentOS 7/8 为例,Ubuntu 类似)
步骤 1:安装 Java 环境
- 安装 OpenJDK 11(推荐,兼容性稳定):
# CentOS 7/8 yum install -y java-11-openjdk-devel # Ubuntu apt update && apt install -y openjdk-11-jdk - 验证 Java 版本:
java -version # 显示 openjdk version "11.0.x" 即成功
步骤 2:安装 Jenkins
- 添加 Jenkins 官方仓库密钥:
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | gpg --dearmor -o /etc/pki/rpm-gpg/RPM-GPG-KEY-jenkins - 添加 Jenkins 仓库到系统:
# CentOS 7 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/debian-stable/jenkins.io-2023.repo # CentOS 8 dnf config-manager --add-repo https://pkg.jenkins.io/debian-stable/jenkins.io-2023.repo - 安装 Jenkins:
# CentOS 7 yum install -y jenkins # CentOS 8 dnf install -y jenkins - 启动 Jenkins 服务并设置开机自启:
# 启动服务 systemctl start jenkins # 设置开机自启 systemctl enable jenkins # 查看服务状态(确保显示 active (running)) systemctl status jenkins - 开放 Jenkins 端口(默认 8080):
# CentOS 7/8 防火墙开放 8080 端口 firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload # 若关闭防火墙(不推荐生产环境) systemctl stop firewalld systemctl disable firewalld
步骤 3:初始化 Jenkins
- 解锁 Jenkins:
- 从服务器获取初始密码:
cat /var/lib/jenkins/secrets/initialAdminPassword - 在本地浏览器访问
http://Linux服务器IP:8080,输入初始密码,点击“继续”。
- 从服务器获取初始密码:
- 安装插件:同 Windows 步骤,选择“安装推荐的插件”或自定义插件。
- 创建管理员账户,完成初始化。
步骤 4:Linux 下 Jenkins 常用操作
- 启动/停止/重启服务:
systemctl start jenkins # 启动 systemctl stop jenkins # 停止 systemctl restart jenkins # 重启 - 修改端口:
- 编辑 Jenkins 配置文件:
vi /etc/sysconfig/jenkins - 找到
JENKINS_PORT="8080",修改为目标端口(如 8081),保存退出。 - 重启 Jenkins 服务:
systemctl restart jenkins。
- 编辑 Jenkins 配置文件:
- 查看 Jenkins 日志(排查问题用):
journalctl -u jenkins -f
五、Jenkins 基础使用示例(创建第一个构建任务)
目标:从 Git 拉取代码,用 Maven 编译 Java 项目
- 安装必要插件:登录 Jenkins → 系统管理 → 插件管理 → 安装“Git Plugin”和“Maven Integration Plugin”,重启 Jenkins。
- 配置 Maven:系统管理 → 全局工具配置 → 找到“Maven”,点击“新增 Maven”,输入名称(如 Maven 3.8),勾选“自动安装”,选择版本,保存。
- 创建任务:
- 点击 Jenkins 主界面“新建任务”,输入任务名称(如
demo-project),选择“自由风格的软件项目”,点击“确定”。 - 源码管理:选择“Git”,输入代码仓库 URL(如
https://github.com/xxx/demo-project.git),配置分支(如*/main)。 - 构建步骤:点击“增加构建步骤”,选择“调用顶层 Maven 目标”,选择配置好的 Maven 版本,目标输入
clean package(清理并打包)。 - 保存任务。
- 点击 Jenkins 主界面“新建任务”,输入任务名称(如
- 执行构建:点击任务名称 → “立即构建”,可在“控制台输出”中查看构建日志,构建成功后,在工作空间的
target目录下可找到打包后的 JAR/WAR 文件。
六、总结
Jenkins 是 CI/CD 领域的经典工具,凭借强大的定制性、丰富的插件生态和跨平台支持,成为中小型团队和复杂项目的首选。

浙公网安备 33010602011771号