个人开发者,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

相关推荐
踏浪无痕4 分钟前
k8s发布服务,nacos未服务未下线紧急处理流程
后端
TYKJ0235 分钟前
物理安全:顶级机房为什么需要刷脸+指纹+工牌
后端
程序员黑豆10 分钟前
AI全栈开发 - Java:注释
前端·后端·ai编程
摇滚侠12 分钟前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
阿正的梦工坊14 分钟前
【Rust】04-借用、引用与切片
java·数据库·rust
小二·28 分钟前
Spring Boot 3 + Vue 3 全栈开发实战
vue.js·spring boot·后端
devilnumber33 分钟前
静态代理 & 动态代理:实战运用 + 场景区别 + 怎么选
java·开发语言·代理模式
码农飞哥36 分钟前
Spring Boot 多角色权限隔离实战:接口层+路由层+UI层三层防御,杜绝生产数据泄露
spring boot·状态模式·架构设计·系统设计·权限控制
Upsy-Daisy39 分钟前
Hermes Agent 学习笔记 02:安装、配置与第一次运行
java·前端·数据库
SuperArc199941 分钟前
SpringBoot+Slf4j+Log4j2+mybatis 日志整合
spring boot·mybatis·log4j2·slf4j·日志整合