JWT 密钥强度问题修复
All checks were successful
构建并部署 Spring Boot 应用 / build-and-deploy (push) Successful in 13m13s

This commit is contained in:
2025-10-15 20:42:49 +08:00
parent faab6d300c
commit 63d0860553
2 changed files with 115 additions and 5 deletions

118
README.md
View File

@@ -96,12 +96,122 @@ src
- 根据Employee中的角色信息更新User的角色
- 对于配送员还会创建或更新DeliveryPerson记录
## 本地开发与测试
### 环境配置
项目支持多种运行环境配置:
1. **本地开发环境** (`local`)
- 端口: 8443
- 数据库: 远程MySQL (与生产环境相同)
- SSL: 禁用
- 日志级别: DEBUG
2. **测试环境** (`test`)
- 端口: 8443
- 数据库: H2内存数据库
- SSL: 禁用
- 日志级别: DEBUG
3. **生产环境** (`prod`)
- 端口: 443
- 数据库: 远程MySQL
- SSL: 启用
- 日志级别: INFO
### 本地运行方式
#### 方式一IDE直接运行推荐用于开发调试
1. 在IDE中打开[LightApplication.java](file:///E:/StudyProject/Light/src/main/java/com/light/delivery/LightApplication.java)
2. 添加运行参数: `-Dspring.profiles.active=local`
3. 直接运行main方法
#### 方式二Maven命令运行
```bash
# 使用local配置文件运行
mvn spring-boot:run -Dspring-boot.run.profiles=local
# 或者使用test配置文件运行使用内存数据库
mvn spring-boot:run -Dspring-boot.run.profiles=test
```
#### 方式三:打包后运行
```bash
# 打包项目
mvn clean package -DskipTests
# 使用local配置运行
java -jar target/light-delivery-1.0.0.jar --spring.profiles.active=local
# 使用test配置运行
java -jar target/light-delivery-1.0.0.jar --spring.profiles.active=test
```
### 运行Docker容器
```bash
# 构建本地Docker镜像
build-local.bat
# 运行容器
docker run -d --name light-delivery -p 8443:8443 light-delivery-app
```
## 部署说明
1. 确保安装了Java 17和Maven
2. 配置MySQL数据库
3. 修改`application.properties`中的数据库连接信息
4. 运行`mvn spring-boot:run`启动项目
### 服务打包
使用Maven将项目打包为可执行JAR文件
```bash
# 清理并打包,跳过测试
mvn clean package -DskipTests
# 或者运行测试后打包
mvn clean package
```
打包后的文件位于: `target/light-delivery-1.0.0.jar`
### Docker镜像构建
项目支持多种Docker镜像构建方式
#### 方式一使用Jib插件推荐
```bash
# 构建Docker镜像到本地Docker守护进程
mvn compile jib:dockerBuild
# 构建Docker镜像到tar文件
mvn compile jib:buildTar
```
#### 方式二使用Dockerfile
```bash
# 构建Docker镜像
docker build -t light-delivery-app .
```
### 云端部署
使用提供的部署脚本将应用部署到云服务器:
```bash
# Windows环境下运行
deploy.bat
```
脚本将执行以下操作:
1. 构建Docker镜像
2. 导出为tar文件
3. 通过SCP上传到云服务器
4. 在云服务器上加载镜像并运行容器
## API接口

View File

@@ -31,7 +31,7 @@ wx.api.code2session-url=https://api.weixin.qq.com/sns/jscode2session
logging.level.com.light.delivery=INFO
jwt.secret=lightDeliveryProdSecretKey
jwt.secret=CRMO1KEF/YP07zoV8+X1F3/DfkvksgPUs6tdLRR8urWCEBPMEO+5nt50xRkRl8JBJursSnvv++qylsaz5zryuA==
jwt.expiration=86400
management.endpoints.web.exposure.include=health,info