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

相关推荐
chinesegf5 分钟前
[特殊字符] 常用 Maven 命令
java·spring boot·maven
绝无仅有10 分钟前
某团互联网大厂的网络协议与数据传输
后端·面试·架构
做运维的阿瑞12 分钟前
Redis 高可用集群部署实战:单Docker实现1主2从3
java·redis·docker
绝无仅有14 分钟前
某多多面试相关操作系统、分布式事务、消息队列及 Linux 内存回收策略
后端·面试·架构
小松の博客15 分钟前
Mybatis 注解开发
java·tomcat·mybatis
爱吃烤鸡翅的酸菜鱼16 分钟前
Java【缓存设计】定时任务+分布式锁实战:Redis vs Redisson实现状态自动扭转以及全量刷新预热机制
java·redis·分布式·缓存·rabbitmq
杰克尼19 分钟前
Springcloud_day01
spring boot·spring·mybatis
yugi98783821 分钟前
MyBatis框架如何处理字符串相等的判断条件
java·开发语言·tomcat
liyi_hz200824 分钟前
O2OA(翱途)开发平台 v9.5 前端框架设计|开放 · 安全 · 可控 · 信创优选
java·前端框架·开源软件
知兀26 分钟前
IDEA的Code Style配置(使用google的Java Code Stytle)
java·ide·intellij-idea