2024最新 Jenkins + Docker 实战教程(四) - 编写自己的Springboot项目实现自动化部署

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志

🎐 个人CSND主页------Micro麦可乐的博客

🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战

🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战

🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解

💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程

如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

Jenkins + Docker + Git + Maven 实战教程(四) - 编写自己的Springboot项目实现自动化部署

前言

上一章节中虽然我们实现了自动化的部署,但是官方的DEMO中并没有Dockerfile文件,我们还是需要手动构建,本章节我们自己编写一个简单的SpringBoot项目实现自动化部署,从代码编写到上传Gitee再到Jenkins自动化部署。

整体流程如下:

构建前准备

在开始Jenkins自动化部署前,我们需要执行如下操作

1、注册Gitee账号
2、创建Git仓库
3、IDEA安装Gitee插件
4、Gitee插件配置账户信息
5、IDEA创建SpringBoot项目
6、SpringBoot项目编写Dockerfile文件
7、get push项目到Gitee

注册Gitee账号以及创建仓库这里我们就忽略了

博主以Mac为例,找到 IntelliJ IDEA - Preferences - Plugins 搜索gitee安装插件

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

创建一个简单的SpringBoot项目

项目根目录创建Dockerfile文件

bash 复制代码
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命令,需要判断对应容器是否存在,存在则需要停止并删除

bash 复制代码
# 默认操作在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

注意
上一章节我们已经处理了将宿主机的Docker引擎挂载到Jenkins容器上,即Jenkins容器调用宿主机的Docker

如果你没有看过上一章教程 可以点击 查看上一章内容

构建测试

配置完成,点击左侧立即构建,在下方的构建历史点击对应构建编号进入查看控制台输出

输出如下

测试访问

结语

本章节从创建SprongBoot项目 -> 上传gitee -> Jenkins自动化部署进行演示,小伙伴们可以跟着博主的教程操作自己走一遍,过程中如果出现其它问题,欢迎留言大家一起交流!

下一章节:2024最新 Jenkins + Docker 实战教程(五) - 配置Webhooks实现自动构建及运行项目


相关推荐
喝醉酒的小白14 分钟前
ElasticSearch 的核心功能
大数据·elasticsearch·jenkins
xianwu5432 小时前
反向代理模块。开发
linux·开发语言·网络·c++·git
罗狮粉 993 小时前
docker部署微信小程序自动构建发布和更新
docker·微信小程序·notepad++
旺仔学IT3 小时前
CentOS上安装和卸载Docker
docker·centos
前端_库日天4 小时前
部署自己的git托管平台
git·ubuntu·docker
只会copy的搬运工4 小时前
Jenkins持续集成部署——Jenkins实战与运维(2)
jenkins
西西弗Sisyphus4 小时前
RAGFlow 基于深度文档理解构建的开源 RAG引擎 - 在 Ubuntu 上安装 Docker Engine
docker·大模型·rag
花姐夫Jun5 小时前
在 CentOS 8 系统上安装 Jenkins 的全过程
linux·centos·jenkins
神仙别闹6 小时前
基于C#实现的(WinForm)模拟操作系统文件管理系统
java·git·ffmpeg
INFINI Labs6 小时前
Elasticsearch filter context 的使用原理
大数据·elasticsearch·jenkins·filter·querycache