当前位置: 首页 > news >正文

jenkins部署springboot+Docker项目

文章目录

  • 前言
  • 一、前提准备
  • 二、使用步骤
  • 总结


前言

昨天安装了jenkins并且能够部署springboot项目,今天学习使用jenkins构建docker容器的方式部署springboot项目。


一、前提准备

服务器已经安装好docker,jenkins并且已经启动成功。

二、使用步骤

在gitee上找个springboot工程,拉取到本地,在工程里面新建docker文件夹,新增Dockerfile 文件
在这里插入图片描述
Docker中粘贴以下内容

# jre基础环境
FROM openjdk:8-jre-alpine# 维护者信息
MAINTAINER zhy# 设置环境变量-运行时也可传参进来哈
ENV JAVA_OPTS ""# 添加jar包到容器中 -- tips: xx.jar 和 Dockerfile 在同一级,添加到容器的/home/app.jar 目录下
ADD *.jar /home/app.jar# 对外暴漏的端口号
# [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
EXPOSE 8080# 以exec格式的CMD指令 -- 可实现优雅停止容器服务
# "sh", "-c" : 可通过exec模式执行shell  =》 获得环境变量
CMD ["sh", "-c", "echo \"****** 运行命令:java -jar ${JAVA_OPTS} /home/app.jar\"   &   java -jar ${JAVA_OPTS} /home/app.jar"]

提交代码到gitee上。
打开jenkins新建任务
在这里插入图片描述
jenkins中添加描述信息
在这里插入图片描述

源码管理粘贴gitee中的项目地址
在这里插入图片描述
选择已有的账号凭证
在这里插入图片描述
没有的话点击下方添加按钮
在这里插入图片描述
输入用户名和密码进行保存
在这里插入图片描述
代码分支和gitee对应
在这里插入图片描述
构建步骤选择执行shell
在这里插入图片描述
shell中粘贴以下命令

# 在工作文件夹下拉取代码后,执行maven 打包
mvn clean install -DskipTests
# 复制打包后的jar到docker目录下
cp target/executor-test-0.0.1-SNAPSHOT.jar docker
#进入到docker目录下
cd docker
# 构建容器镜像
docker build -f Dockerfile -t "springboot:dev" . --no-cache
# 停止之前已经运行的容器
docker ps -a | grep springboot | awk '{print $1}' | xargs -i docker stop {} | xargs -i docker rm {}
# 运行容器
docker run -d -p 8888:8080 --name springboot springboot:dev

保存应用
在这里插入图片描述
立即构建测试运行
在这里插入图片描述
查看控制台日志输出
在这里插入图片描述
构建成功
在这里插入图片描述
浏览器访问接口测试
在这里插入图片描述
查看运行容器

docker ps

在这里插入图片描述
查看容器日志

docker logs -f springboot

进入容器查看 ADD 拷贝的jar包

docker exec -it springboot /bin/bash

提示这个错误说明没有/bin/bash,使用 /bin/sh
在这里插入图片描述

docker exec -it springboot /bin/sh

到 /home 目录下查看
在这里插入图片描述
退出容器

exit

总结

以上就是今天要讲的内容,本文介绍了使用jenkins部署springboot+docker项目。

http://www.lryc.cn/news/585552.html

相关文章:

  • 力扣网编程134题:加油站(双指针)
  • [实战]调频三角波和锯齿波信号生成(完整C代码)
  • leetcode-hot100(283.移动零)
  • 力扣面试150(29/100)
  • OA系统中的搜索功能方案:简单搜索vs高级搜索
  • SpringDataRedis入门
  • c++——浅拷贝和深拷贝、浅赋值和深赋值
  • Django快速入门搭建网站
  • 经典同步问题详解
  • 液冷智算数据中心崛起,AI算力联动PC Farm与云智算开拓新蓝海(二)
  • Apache Cloudberry 向量化实践(三)重塑表达式构建路径:Gandiva 优化实战
  • 2D下的几何变换(C#实现,持续更新)
  • SpringBoot或OpenFeign中 Jackson 配置参数名蛇形、小驼峰、大驼峰、自定义命名
  • SpringCloud之Ribbon
  • BootstrapBlazor与JS互调
  • Semi-Supervised Single-View 3D Reconstruction via Prototype Shape Priors
  • 小智AI模型接入MCP
  • 【一起来学AI大模型】微调技术:LoRA(Low-Rank Adaptation) 的实战应用
  • SQL Server通过CLR连接InfluxDB实现异构数据关联查询技术指南
  • SpringBoot JWT
  • Rust与UE5高效集成实战
  • uniapp制作一个个人页面
  • ffmpeg-api记录
  • UC浏览器PC版自2016年后未再更新不支持vue3
  • 小旺AI截图1.2.1版本上线:新增录屏音频、Mac长截屏
  • Docker高级管理--Dockerfile 镜像制作
  • 手把手一起使用Miniforge3+mamba平替Anaconda(Win10)
  • 机器学习week2-线性回归加强
  • Java的extends通配符
  • netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)