今天給大家分享一下,作爲個人開發者,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 [email protected]
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
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
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
操作
-
每次升級,我們只需要把打包好的 jar 文件上傳到 jars 文件下。
需要注意版本,每次都會取最大的。
-
執行 shell 命令:
sh build-docker-compose.sh
。