
Jenkins + Docker + Git + Maven 实战教程(四) - 编写自己的Springboot项目实现自动化部署
前言
上一章节中虽然我们实现了自动化的部署,但是官方的DEMO中并没有Dockerfile文件,我们还是需要手动构建,本章节我们自己编写一个简单的SpringBoot项目实现自动化部署,从代码编写到上传Gitee再到Jenkins自动化部署。
整体流程如下:

构建前准备
在开始Jenkins自动化部署前,我们需要执行如下操作
注册Gitee账号以及创建仓库这里我们就忽略了
博主以Mac为例,找到 IntelliJ IDEA - Preferences - Plugins 搜索gitee安装插件

Gitee插件配置账户信息,可以选择授权登陆以及账号密码登陆等,大家根据情况自行选择

创建一个简单的SpringBoot项目

项目根目录创建Dockerfile文件
FROM openjdk:11
# 设置工作目录
WORKDIR /app
# 将宿主机的目录挂载到容器的/app目录
VOLUME /app
# 复制.jar文件到工作目录
COPY jenkins-demo-project-0.0.1-SNAPSHOT.jar /app/jenkins-demo.jar
# 设置容器启动时执行的命令
CMD ["java", "-jar", "jenkins-demo.jar" ,"--server.port=9090"]
调整pom.xml设置maven将Dockerfile一并打包到target目录下

最后通过IDEA提交代码到Gitee仓库
由于博主的仓库是公开的,小伙伴们也可以直接使用博主的demo 【仓库地址】
开始配置Jenkins
找到左侧菜单 - 新建任务 - jenkins-demo

创建完成后,点击对应任务进入

在左侧找到配置

配置Git Repository URL

找到 Post Steps 选项,,选择仅构建成功执行

设置我们的sell命令,需要判断对应容器是否存在,存在则需要停止并删除
# 默认操作在Jenkins工作目录下的项目名目录 即 workspace/jenkins-demo/target
cd target
#构建镜像
docker build -t jenkins-demo .
# 使用docker ps和grep来检查容器是否存在
if docker ps -a | grep "my-jenkins-demo" > /dev/null; then
echo "容器存在"
#容器存在则停止并删除容器
docker stop my-jenkins-demo
docker rm my-jenkins-demo
else
echo "容器不存在"
fi
#运行容器
docker run -d -p 9090:9090 --name my-jenkins-demo jenkins-demo
构建测试
配置完成,点击左侧立即构建,在下方的构建历史点击对应构建编号进入查看控制台输出

输出如下

测试访问

结语
本章节从创建SprongBoot项目 -> 上传gitee -> Jenkins自动化部署进行演示,小伙伴们可以跟着博主的教程操作自己走一遍,过程中如果出现其它问题,欢迎留言大家一起交流!
下一章节:2024最新 Jenkins + Docker 实战教程(五) - 配置Webhooks实现自动构建及运行项目











