news 2026/2/6 12:12:44

Jenkins+Docker一键自动化部署JavaSpringBoot应用最简流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jenkins+Docker一键自动化部署JavaSpringBoot应用最简流程

本文章实现最简单全面的 Jenkins + Docker + Spring Boot 一键自动部署项目。步骤齐全,少走坑路。

  • 环境:CentOS7 + Git (Gitee)

  • 实现步骤:在 Docker 安装 Jenkins,配置 Jenkins 基本信息,利用 Dockerfile 和 Shell 脚本实现项目自动拉取打包并运行。

01

安装 Docker

安装社区版本 Docker CE

1、确保 yum 包更新到最新

yum update

2、卸载旧版本(如果安装过旧版本的话)

yum remove docker docker-common docker-selinux docker-engine

3、安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

4、设置 yum 源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

5、安装 Docker

yuminstalldocker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0yum install <自己的版本> # 例如:sudo yum install docker-ce-17.12.0.ce

6、启动并设置开机启动

systemctlstart dockersystemctlenable docker

7、验证安装是否成功

docker version

02

安装 Jenkins

  • Jenkins 中文官网:https://www.jenkins.io/zh/

1. 安装 Jenkins

Docker 安装一切都是那么简单。注意检查 8080 是否已经占用,如果占用请修改端口。

docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

如果没改端口号的话,安装完成后访问地址:

http://{部署Jenkins所在服务IP}:8080

此处会有几分钟的等待时间。

2. 初始化 Jenkins

详情见官网教程:https://www.jenkins.io/zh/doc

2.1 解锁 Jenkins

# 进入Jenkins容器docker exec -it {Jenkins容器名} bash# 例如 docker exec -it jenkins bash# 查看密码cat /var/lib/jenkins/secrets/initialAdminPassword# 复制密码到输入框里面

2.2 安装插件

选择第一项:安装推荐的插件。

2.3 创建管理员用户

此账户信息一定要记住哦。

03

系统配置

1. 安装需要插件

进入【首页】–【系统管理】–【插件管理】–【可选插件】。搜索以下需要安装的插件,点击安装即可。

安装 Maven Integration

安装 Publish Over SSH(如果不需要远程推送,不用安装)

如果使用 Gitee 码云,安装插件Gitee(自带 Git 不用单独安装)

2. 配置 Maven

进入【首页】–【系统管理】–【全局配置】,拉到页面最下方 maven–maven 安装。

04

创建任务

1. 新建任务

点击【新建任务】,输入任务名称,点击构建一个自由风格的软件项目。

2. 源码管理

点击【源码管理】–【Git】,输入仓库地址,添加凭证,选择好凭证即可。

3. 构建触发器

点击【构建触发器】–【构建】–【增加构建步骤】–【调用顶层 Maven 目标】–【「填写配置」】–【保存】。

此处命令只是 install,看是否能生成 jar 包。

clean install -Dmaven.test.skip=true

4. 保存

点击【保存】按钮即可。

05

测试

该功能测试是否能正常打包。

1. 构建

点击构建按钮。

2. 查看日志

点击正在构建的任务,或者点击任务名称进入详情页面,查看控制台输出。看是否能成功打成 jar 包。

该处日志第一次可能下载依赖 jar 包失败,再次点击构建即可成功。

3. 查看项目位置

cd/var/jenkins_home/workspacell #即可查看是否存在

06

运行项目

因为项目和 Jenkins 在同一台服务器,所以我们用 Shell 脚本运行项目,原理既是通过 Dockerfile 打包镜像,然后 docker 运行即可。

1. Dockerfile

在 Spring Boot 项目根目录新建一个名为 Dockerfile 的文件,注意没有后缀名。

其内容如下:(大致就是使用 JDK 8,把 jar 包添加到 docker 然后运行 prd 配置文件。详细可以查看其他教程)

FROM jdk:8VOLUME /tmpADD target/zx-order-0.0.1-SNAPSHOT.jar app.jarEXPOSE 8888ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

2. 修改 Jenkins 任务配置

配置如下:

"-t" 指定新镜像名,"." 表示 Dockfile 在当前路径。

备注:

  • 上图用了 docker logs -f 是为了方便看日志,真实环境不要用,因为会一直等待日志,构建任务会失败;

  • 加 "|| true" 是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错;

3. 保存:点击保存即可;

4. 构建:查看 Jenkins 控制台输出,输出如下,证明成功;

5. 验证

docker ps # 查看是否有自己的容器docker logs # 自己的容器名,查看日志是否正确# 打开浏览器访问项目
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/5 10:39:31

企业风险管理系统派生报表设计与实现

在风险管理工作中&#xff0c;不同角色需要不同视角的报表数据。企业风险管理系统的派生报表功能&#xff0c;支持基于基础数据自动生成各类派生报表&#xff0c;满足不同用户的个性化需求。本文将详细说明派生报表的设计思路、实现方式与应用场景。 一、派生报表的设计原则 …

作者头像 李华
网站建设 2026/2/5 5:18:12

基差风险管理系统操作日志导出与审计应用

在期现业务管理中&#xff0c;操作日志是追溯业务操作、审计合规性的重要依据。基差风险管理系统的操作日志导出功能&#xff0c;支持将日志数据导出为多种格式&#xff0c;便于审计分析、问题排查与合规存档。本文将详细说明操作日志导出的功能设计、导出格式与应用场景。 一…

作者头像 李华
网站建设 2026/2/5 11:45:43

Vivado自定义IP核封装教程(超详细!)

Vivado自定义IP核封装 一. 创建目标IP核工程及源代码文件二. IP核封装步骤三. 将封装的自定义IP添加到Vivado工具的IP库四. 如何修改已经完成封装的IP核 本文将使用简单的LED工程进行详细的用户自定义IP核封装流程介绍,用户可以将自己的逻辑代码封装为普通接口和AXI4接口,本文介…

作者头像 李华
网站建设 2026/2/5 11:10:08

Sentinel 链路流控模式配置细节:关闭context整合

什么是“链路模式” 链路模式&#xff08;也叫关联模式或入口限流&#xff09;是指根据资源调用链路进行限流&#xff0c;只针对从某个入口进入的请求进行限流&#xff0c;而不是对所有请求进行限流。 问题背景 默认行为&#xff1a;Sentinel默认只将Controller中的方法标记…

作者头像 李华