Jenkins 作为开源的自动化服务器,是 DevOps 核心工具之一,能够实现代码构建、测试、部署的全流程自动化。本文以主流的 Linux 系统(CentOS 7/8、Ubuntu 20.04/22.04)为例,从环境准备、安装部署、基础配置到流水线(Pipeline)构建,手把手带你掌握 Jenkins 的核心使用方法。
一、环境准备
1. 系统要求
- 操作系统:Linux(CentOS 7+/Ubuntu 20.04+),推荐 2 核 4G 以上配置
- 依赖:Java(Jenkins 2.357+ 要求 Java 11,推荐 OpenJDK 11)
- 网络:能访问外网(或配置内网源),开放 8080 端口(Jenkins 默认端口)
2. 安装 Java 环境
Jenkins 基于 Java 开发,必须先安装并配置 Java 环境,以下是 CentOS 和 Ubuntu 的安装方式:
CentOS 系统
# 安装 OpenJDK 11
yum install -y java-11-openjdk java-11-openjdk-devel
# 验证 Java 版本
java -version
# 输出类似:openjdk version "11.0.XX" 即为成功
Ubuntu 系统
# 更新源
apt update
# 安装 OpenJDK 11
apt install -y openjdk-11-jdk openjdk-11-jre
# 验证 Java 版本
java -version
二、Jenkins 安装部署
1. 安装 Jenkins
推荐通过官方源安装,保证版本最新且稳定:
CentOS 系统
# 安装依赖
yum install -y wget
# 添加 Jenkins 官方源
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm –import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
# 安装 Jenkins
yum install -y jenkins
# 启动 Jenkins 服务
systemctl start jenkins
# 设置开机自启
systemctl enable jenkins
# 查看服务状态
systemctl status jenkins
Ubuntu 系统
# 安装依赖
apt install -y wget gnupg
# 添加 Jenkins 官方 GPG 密钥
wget -q -O – https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | gpg –dearmor -o /usr/share/keyrings/jenkins-keyring.gpg
# 添加 Jenkins 源
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.gpg] https://pkg.jenkins.io/debian-stable binary/" | tee /etc/apt/sources.list.d/jenkins.list > /dev/null
# 更新源并安装 Jenkins
apt update
apt install -y jenkins
# 启动并设置自启
systemctl start jenkins
systemctl enable jenkins
systemctl status jenkins
2. 防火墙与端口配置
Jenkins 默认监听 8080 端口,需开放端口权限:
CentOS 系统(firewalld)
# 开放 8080 端口
firewall-cmd –add-port=8080/tcp –permanent
# 重载防火墙规则
firewall-cmd –reload
# 查看开放端口
firewall-cmd –list-ports
Ubuntu 系统(ufw)
# 开放 8080 端口
ufw allow 8080/tcp
# 启用防火墙(若未启用)
ufw enable
# 查看规则
ufw status
3. 初始化 Jenkins
步骤 1:访问 Jenkins 页面
在浏览器中输入 http://服务器IP:8080,首次访问会要求输入初始管理员密码。

步骤 2:获取初始密码
方式一:jenkins 启动日志

方式二:执行以下命令获取密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
将输出的一串随机字符复制到页面输入框,点击 “继续”。
步骤 3:安装插件
- 推荐选择 “安装推荐的插件”,等待插件安装完成(网络慢可配置国内镜像源,见文末优化)。


- 插件安装完成后,创建第一个管理员用户(输入用户名、密码、邮箱)。

- 配置 Jenkins URL(默认即可),点击 “开始使用 Jenkins”,完成初始化。
三、Jenkins 流水线(Pipeline)实战
Pipeline 是 Jenkins 的核心特性,通过代码(Jenkinsfile)定义自动化流程,支持持续集成 / 持续部署(CI/CD)。
1. 核心概念
- Jenkinsfile:定义 Pipeline 的文本文件,支持 Declarative(声明式,推荐)和 Scripted(脚本式)两种语法。
- Agent:指定流水线运行的节点(如本机 agent any)。
- Stage:流水线的阶段(如拉取代码、构建、测试、部署)。
- Step:阶段内的具体操作(如执行 shell 命令、调用插件)。
2. 实战:构建一个 Java 项目的 Pipeline
前提条件
- 安装 Git 插件(已包含在推荐插件中)。
- 服务器安装 Git:yum install git(CentOS)/ apt install git(Ubuntu)。
- 准备一个 Java 项目(如 GitHub/Gitee 上的 Maven 项目)。
步骤 1:创建 Pipeline 任务

步骤 2:配置 Pipeline
- 选择 Git,输入代码仓库地址(如 https://gitee.com/xxx/xxx-project.git)。
- 配置凭证(私有仓库需添加用户名 / 密码或 SSH 密钥)。
- 指定分支(如 */main)。
- 指定 Jenkinsfile 路径(默认 Jenkinsfile,若在仓库根目录可直接使用)。

pipeline {
// 任意可用节点运行
agent any
// 环境变量
environment {
// 项目构建目录
PROJECT_DIR = '/var/jenkins/workspace/Java-Project'
}
// 构建触发器(可选:定时构建、代码提交触发)
triggers {
// 每分钟检查一次代码更新
pollSCM('* * * * *')
}
// 流水线阶段
stages {
stage("Clean Workspace") {
steps {
script {
// 清空当前工作目录
deleteDir()
}
}
}
stage('拉取代码') {
steps {
echo '开始拉取代码…'
// 拉取代码(若配置 SCM 则无需此步骤,此处为脚本式示例)
// git url: 'https://gitee.com/xxx/xxx-java-project.git', branch: 'main'
sh "git clone https://gitee.com/dromara/payment-spring-boot.git"
}
}
stage('代码构建') {
steps {
echo '开始构建项目…'
// 执行 Maven 构建(需安装 Maven 插件或服务器安装 Maven)
sh 'cd payment-spring-boot ; mvn clean package -DskipTests'
}
}
stage('部署到测试环境') {
// 仅在 main 分支执行
when {
branch 'main'
}
steps {
echo '部署到测试环境…'
// 示例:复制 jar 包到测试服务器
sh 'cp target/*.jar /opt/test-server/'
// 重启测试服务
sh 'systemctl restart test-server'
}
}
}
// 流水线结束后操作
post {
success {
echo '流水线执行成功!'
}
failure {
echo '流水线执行失败!'
// 可选:发送邮件通知
mail to: 'admin@example.com',
subject: 'Pipeline 执行失败',
body: '项目构建失败,请检查!'
}
}
}
步骤 3:运行 Pipeline
点击 “保存” 后,点击 “立即构建”,在任务页面可查看流水线执行进度:
- 点击 “阶段视图”,直观查看各阶段执行状态。
- 点击各阶段可查看日志(如构建失败,查看日志定位问题)。
3. Jenkinsfile 核心语法说明
| agent any | 在任意可用节点运行流水线 |
| stage('名称') | 定义阶段 |
| sh '命令' | 执行 shell 命令 |
| git url: '地址', branch: '分支' | 拉取 Git 代码 |
| environment | 定义环境变量 |
| when | 条件判断(如分支、状态) |
| post | 流水线 / 阶段结束后的操作(成功 / 失败 / 始终) |
四、Jenkins 优化与常见问题
1. 配置国内插件镜像源(解决插件安装慢)
修改 Jenkins 插件源为清华大学镜像:
# 进入 Jenkins 插件配置目录
cd /var/lib/jenkins/updates
# 备份原配置
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json
# 重启 Jenkins
systemctl restart jenkins
或者:

Advanced settings地址改为:https://mirrors.huaweicloud.com/jenkins/updates/update-center.json
2. 常见问题解决
- Jenkins 启动失败:检查 Java 版本是否符合要求(Jenkins 2.357+ 需 Java 11),查看日志:journalctl -u jenkins。
- 插件安装失败:配置国内镜像源,或手动下载插件(hpi 文件)上传到 /var/lib/jenkins/plugins 目录,重启 Jenkins。
- Pipeline 拉取代码失败:检查 Git 地址、凭证是否正确,服务器能否访问代码仓库(ping github.com 测试)。
- Maven 构建失败:安装 Maven(yum install maven),或配置 Maven 国内镜像(修改 settings.xml)。
五、总结
本文从 Linux 环境下 Jenkins 的安装部署入手,完成了初始化配置,并通过实战案例讲解了 Pipeline 流水线的构建流程。Jenkins 的核心价值在于自动化,通过 Pipeline 可灵活定义 CI/CD 流程,适配不同语言(Java、Python、Go 等)和场景(前端构建、后端部署、容器化发布等)。
后续可进一步学习:
- 配置 Jenkins 节点(分布式构建)。
- 集成 Docker 实现容器化部署。
- 结合 Kubernetes 实现动态节点调度。
- 使用 WebHook 实现代码提交自动触发构建。
希望本文能帮助你快速上手 Jenkins,打造高效的自动化研发流程!

