1. 为什么需要Jenkins+Docker自动化部署SpringBoot应用
在传统Java应用部署中,开发团队通常需要经历以下痛苦流程:
- 开发人员在本地打包Jar文件
- 通过FTP/SFTP上传到服务器
- 手动执行
java -jar命令启动应用 - 遇到环境差异问题时重复调试
这种模式存在三个致命缺陷:
- 环境不一致:本地开发环境与生产环境的JDK版本、依赖库等差异导致"在我机器上是好的"问题
- 效率低下:每次部署需要10-20分钟手动操作
- 回滚困难:出现问题时难以快速恢复到上一个稳定版本
Docker通过容器化技术解决了环境一致性问题,而Jenkins提供了自动化构建部署的能力。二者结合可以实现:
- 代码提交后自动触发构建
- 标准化镜像打包(包含全部运行时环境)
- 一键回滚到任意历史版本
- 部署过程全程可追溯
实际案例:某电商项目采用该方案后,部署时间从15分钟缩短到90秒,生产环境问题减少70%
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与工具安装
2.1 基础环境要求
-
服务器配置:
- 最低:2核CPU/4GB内存/50GB磁盘(适合小型项目)
- 推荐:4核CPU/8GB内存/100GB磁盘(支持并发构建)
- 操作系统:Ubuntu 20.04 LTS或CentOS 7+
-
网络要求:
- Jenkins服务器需要访问Git仓库(GitHub/GitLab等)
- 能连接Docker Hub或私有镜像仓库
- 开放8080(Jenkins)、2375(Docker)端口
2.2 Jenkins安装与初始化
通过官方仓库安装最新LTS版本:
bash复制# Ubuntu
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins openjdk-11-jdk
# CentOS
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install epel-release
sudo yum install jenkins java-11-openjdk-devel
启动服务并获取初始密码:
bash复制sudo systemctl start jenkins
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
浏览器访问http://服务器IP:8080完成初始化,建议安装"Suggested plugins"。
2.3 Docker环境配置
安装最新Docker CE版本:
bash复制# Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
# CentOS
sudo yum
