Jenkins 自动化部署与流水线实战指南
Jenkins 开源自动化服务器,支持代码构建、测试、部署全流程自动化。基于 Linux 系统(CentOS/Ubuntu)演示环境准备、安装部署及初始化配置流程。重点讲解 Pipeline 流水线构建,通过 Jenkinsfile 定义声明式脚本实现拉取代码、Maven 构建、部署等阶段。包含国内插件镜像源优化方案及常见启动失败、插件安装等问题排查方法,适用于打造高效 CI/CD 研发流程。

Jenkins 开源自动化服务器,支持代码构建、测试、部署全流程自动化。基于 Linux 系统(CentOS/Ubuntu)演示环境准备、安装部署及初始化配置流程。重点讲解 Pipeline 流水线构建,通过 Jenkinsfile 定义声明式脚本实现拉取代码、Maven 构建、部署等阶段。包含国内插件镜像源优化方案及常见启动失败、插件安装等问题排查方法,适用于打造高效 CI/CD 研发流程。

Jenkins 作为开源的自动化服务器,是 DevOps 核心工具之一,能够实现代码构建、测试、部署的全流程自动化。本文以主流的 Linux 系统(CentOS 7/8、Ubuntu 20.04/22.04)为例,从环境准备、安装部署、基础配置到流水线(Pipeline)构建,讲解 Jenkins 的核心使用方法。
Jenkins 基于 Java 开发,必须先安装并配置 Java 环境,以下是 CentOS 和 Ubuntu 的安装方式:
# 安装 OpenJDK 11
yum install -y java-11-openjdk java-11-openjdk-devel
# 验证 Java 版本
java -version
# 输出类似:openjdk version "11.0.XX" 即为成功
# 更新源
apt update
# 安装 OpenJDK 11
apt install -y openjdk-11-jdk openjdk-11-jre
# 验证 Java 版本
java -version
推荐通过官方源安装,保证版本最新且稳定:
# 安装依赖
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
# 安装依赖
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
Jenkins 默认监听 8080 端口,需开放端口权限:
# 开放 8080 端口
firewall-cmd --add-port=8080/tcp --permanent
# 重载防火墙规则
firewall-cmd --reload
# 查看开放端口
firewall-cmd --list-ports
# 开放 8080 端口
ufw allow 8080/tcp
# 启用防火墙(若未启用)
ufw enable
# 查看规则
ufw status
在浏览器中输入 http://服务器 IP:8080,首次访问会要求输入初始管理员密码。

方式一:jenkins 启动日志

方式二:执行以下命令获取密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
将输出的一串随机字符复制到页面输入框,点击'继续'。

Pipeline 是 Jenkins 的核心特性,通过代码(Jenkinsfile)定义自动化流程,支持持续集成 / 持续部署(CI/CD)。
agent any)。yum install git(CentOS)/ apt install git(Ubuntu)。Java-Project-Pipeline)。
https://gitee.com/xxx/xxx-project.git)。*/main)。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: '[email protected]', subject: 'Pipeline 执行失败', body: '项目构建失败,请检查!'
}
}
}
点击'保存'后,点击'立即构建',在任务页面可查看流水线执行进度:
| 语法 | 说明 |
|---|---|
agent any | 在任意可用节点运行流水线 |
stage('名称') | 定义阶段 |
sh '命令' | 执行 shell 命令 |
git url: '地址', branch: '分支' | 拉取 Git 代码 |
environment | 定义环境变量 |
when | 条件判断(如分支、状态) |
post | 流水线 / 阶段结束后的操作(成功 / 失败 / 始终) |
修改 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
journalctl -u jenkins。hpi 文件)上传到 /var/lib/jenkins/plugins 目录,重启 Jenkins。ping github.com 测试)。yum install maven),或配置 Maven 国内镜像(修改 settings.xml)。本文从 Linux 环境下 Jenkins 的安装部署入手,完成了初始化配置,并通过实战案例讲解了 Pipeline 流水线的构建流程。Jenkins 的核心价值在于自动化,通过 Pipeline 可灵活定义 CI/CD 流程,适配不同语言(Java、Python、Go 等)和场景(前端构建、后端部署、容器化发布等)。
后续可进一步学习:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online