个人开发者,Spring Boot 项目如何部署

今天给大家分享一下,作为个人开发者,Spring Boot 项目是如何部署的。

环境介绍

Linux

docker

docker-compose

目录结构

复制代码
erwin-windrunner
- backups
- data
- jars
- build-docker-compose.sh
- docker-compose.yml
- Dockerfile

文件

Dockerfile
复制代码
FROM openjdk:17-jdk-alpine
MAINTAINER Erwin Feng xfsy_2015@163.com

ENV active = 'dev'

ENV TZ=Asia/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY erwin-windrunner-*.jar erwin-windrunner.jar
ENTRYPOINT ["sh", "-c", "java -jar erwin-windrunner.jar --spring.profiles.active=$active"]
docker-compose.yml
yaml 复制代码
version: "3"
services:
  # 服务名称
  erwin-windrunner:
    # Dockerfile所在目录(. 表示同级目录下)
    build: .
    # 镜像名称
    image: fengwenyi/erwin-windrunner
    # 容器名称
    container_name: erwin-windrunner
    restart: always
    # 端口
    ports:
      - "9090:9090"
    # 挂载
    volumes:
      - ./data/log:/data/log
      - ./data/file:/data/file
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
      - active=prod
build-docker-compose.sh
shell 复制代码
docker-compose down
docker-compose rm
mv *.jar backups/
cd jars
name=$(ls -lt *.jar|awk '{print $9}'|head -1)
cp $name ..
cd ..
docker-compose build
docker-compose up -d
docker-compose logs -f

操作

  1. 每次升级,我们只需要把打包好的 jar 文件上传到 jars 文件下。

    需要注意版本,每次都会取最大的。

  2. 执行 shell 命令:sh build-docker-compose.sh

相关推荐
月亮不月亮2 分钟前
月亮商场购物打折Java
java·eclipse
moxiaoran57534 分钟前
Springboot+MongoDB简单使用示例
spring boot·mongodb·spring
guozhetao12 分钟前
【ST表、倍增】P7167 [eJOI 2020] Fountain (Day1)
java·c++·python·算法·leetcode·深度优先·图论
技术思考者12 分钟前
基础很薄弱如何规划考研
java·经验分享·考研
●VON35 分钟前
重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
java·学习·微服务·架构·mybatis-plus
老华带你飞35 分钟前
口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)
java·数据库·微信小程序·小程序·论文·毕设·口腔小程序
小鱼人爱编程40 分钟前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
hqxstudying1 小时前
J2EE模式---服务层模式
java·数据库·后端·spring·oracle·java-ee
GM_8281 小时前
【最新最完整】SpringAI-1.0.0开发MCP Server,搭建MCP Client 实战笔记(进阶+详细+完整代码)
java·后端·ai编程·springai·mcp
都叫我大帅哥1 小时前
Java DelayQueue:时间管理大师的终极武器
java