26dd3bb387
主要变更: 1. 动态更新功能 - 新增 Python 更新服务 (docker/update-service.py) - 添加系统更新前端页面 (frontend/src/pages/SystemUpdate.tsx) - 配置 Nginx 代理更新服务 API - 更新 Docker 启动脚本支持多进程管理 - 修复权限验证接口 (AuthController.verify) 2. Release 创建脚本 - 新增 create-release.sh 脚本支持快速创建 GitHub Release - 支持自动拼接 -beta 后缀(pre-release) - 支持无交互模式(--yes 参数) - 添加详细的使用文档 3. GitHub Actions 增强 - 添加更新包构建和上传流程 - 支持 Pre-release 检测和过滤 4. 文档完善 - 添加动态更新技术方案文档 - 添加 Docker 版本号确定流程文档 - 添加 Release 脚本使用说明
62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
version: '3.8'
|
||
|
||
services:
|
||
app:
|
||
# 使用测试镜像(pre-release)
|
||
image: wrbug/polyhermes:test
|
||
container_name: polyhermes-test
|
||
ports:
|
||
- "${SERVER_PORT:-8080}:80" # 使用不同端口避免冲突
|
||
environment:
|
||
- TZ=${TZ:-Asia/Shanghai}
|
||
- SPRING_PROFILES_ACTIVE=test # 使用测试 profile
|
||
- DB_URL=${DB_URL:-jdbc:mysql://mysql-test:3306/polyhermes_test?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowPublicKeyRetrieval=true}
|
||
- DB_USERNAME=${DB_USERNAME:-root}
|
||
- DB_PASSWORD=${DB_PASSWORD:-}
|
||
- SERVER_PORT=8000
|
||
- JWT_SECRET=${JWT_SECRET:-test-jwt-secret-key-for-testing-only}
|
||
- ADMIN_RESET_PASSWORD_KEY=${ADMIN_RESET_PASSWORD_KEY:-test-reset-key-for-testing-only}
|
||
- LOG_LEVEL_ROOT=DEBUG
|
||
- LOG_LEVEL_APP=DEBUG
|
||
# 【测试环境】允许检测 pre-release 版本
|
||
- ALLOW_PRERELEASE=true
|
||
- GITHUB_REPO=${GITHUB_REPO:-WrBug/PolyHermes}
|
||
volumes:
|
||
- /etc/localtime:/etc/localtime:ro
|
||
depends_on:
|
||
mysql-test:
|
||
condition: service_healthy
|
||
restart: unless-stopped
|
||
networks:
|
||
- polyhermes-test-network
|
||
|
||
mysql-test:
|
||
image: mysql:8.2
|
||
container_name: polyhermes-mysql-test
|
||
ports:
|
||
- "${MYSQL_PORT:-3308}:3306" # 使用不同端口
|
||
environment:
|
||
- TZ=${TZ:-Asia/Shanghai}
|
||
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-testpassword}
|
||
- MYSQL_DATABASE=polyhermes_test
|
||
- MYSQL_CHARACTER_SET_SERVER=utf8mb4
|
||
- MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci
|
||
volumes:
|
||
- mysql-test-data:/var/lib/mysql
|
||
- /etc/localtime:/etc/localtime:ro
|
||
healthcheck:
|
||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASSWORD:-testpassword}"]
|
||
interval: 10s
|
||
timeout: 5s
|
||
retries: 5
|
||
restart: unless-stopped
|
||
networks:
|
||
- polyhermes-test-network
|
||
|
||
volumes:
|
||
mysql-test-data:
|
||
|
||
networks:
|
||
polyhermes-test-network:
|
||
driver: bridge
|