CI Test
4b8605c679
security: 端口绑定限制为 127.0.0.1 (API/Web)
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 205h32m24s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 205h32m34s
2026-06-30 22:59:32 +08:00
Audit Bot
c22ab58ff2
fix(deploy): build/push API+Worker images to registry for staging deploy
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 209h0m7s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h0m36s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h0m45s
- Add 'Build and push staging API/Worker images' step in deploy.yml
- Update inline deploy script to pass REGISTRY/API_IMAGE/WORKER_IMAGE
- Update deploy-staging.sh to default to registry-prefixed image names
- Fix infra container checks to use -staging suffix
2026-06-30 19:53:49 +08:00
CI Test
4f5e14862b
fix(deploy): check staging-suffixed infra container names in deploy-staging.sh
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 209h7m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h7m37s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h7m48s
2026-06-30 19:46:45 +08:00
Audit Bot
b98c83582b
fix: 上传文件大小限制从 800MB 提升至 2000MB
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P0 修复:
- config.py: OSS_DIRECT_UPLOAD_MAX_MB 默认值从 800 改为 2000
- config.py: 添加 AliasChoices 支持 MAX_UPLOAD_SIZE_MB 环境变量
(.env.production 中 MAX_UPLOAD_SIZE_MB=2000 现在可被正确读取)
P1 修复:
- infra/nginx/xiaoxia-saas.conf: client_max_body_size 800m → 2g(3处)
- infra/docker/nginx-production.conf: client_max_body_size 800m → 2g
2026-06-29 22:11:22 +08:00
xiaoxia
71825df8b2
fix: include alembic directory in API Docker image for migrations
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:36:37 +08:00
CI Test
ec96feee22
fix(deploy): Worker 容器内存限制从 4G 降至 2G
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Worker 实际内存使用仅 ~156MiB,4G 限制远超需求
- 业务服务器总内存仅 1.7Gi,过高限制影响其他容器
- 2G 限制已足够应对视频处理峰值需求
2026-06-28 10:30:09 +08:00
CI Test
46d9b9edfe
fix: add Chinese apt mirrors to both Dockerfiles for faster builds
Tests / test (push) Failing after 2s
Tests / lint (push) Failing after 0s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-27 20:38:37 +08:00
CI Test
aade9fa938
fix: add HTTPS pip mirror to api.Dockerfile to fix build failure
2026-06-27 20:26:41 +08:00
Celery Worker Fix Agent
8210806632
fix: 修复 Celery Worker 任务注册和导入问题
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
1. 修复 Worker 启动入口: celery_app → worker_app.celery_app
- 旧 celery_app.py 不导入任何任务模块,导致 Worker 注册 0 个任务
- 删除旧版 apps/worker/celery_app.py,统一使用 worker_app/celery_app.py
2. 为缺少装饰器的任务补充 @celery_app.task:
- classification.py: classify_asset() 添加装饰器
- generation.py: generate_video() 添加装饰器,修正签名匹配 API 调用方式
3. 确保 voice_extraction 任务被正确注册:
- 添加 voice_extraction 到 celery_app imports
- 修复 voice_extraction.py 中错误的相对导入 (.celery_app → worker_app.celery_app)
- 修复 dedup.py 中指向已删除模块的导入
4. 修复 worker_app/celery_app.py:
- 添加 broker_connection_retry_on_startup=True
- imports 中添加 voice_extraction 和 dedup 模块
5. 修复 Dockerfile:
- CMD 改为 celery -A worker_app.celery_app
- 添加非 root 用户 celery 运行 Worker
6. 新建 packages/shared/config.py 和 storage.py 兼容层
- 为 worker 任务模块提供统一的 config/storage 访问入口
2026-06-27 19:31:07 +08:00
XiaoXia Bot
0b990017ca
fix(security): 删除 .env.production 并清理硬编码密码
...
- 删除 .env.production(含占位符密钥,已从版本控制移除)
- scripts/smoke_public_*.py: 密码改为从环境变量 SMOKE_TEST_PASSWORD 读取
- infra/docker/infra.yml: POSTGRES_PASSWORD 改为引用环境变量
- packages/application/auth/jwt_handler.py: 文档示例密钥改为占位符
2026-06-27 18:10:52 +08:00
xiaoxia
a5c5da50c6
fix: 修复 jwt_service.py 错误的 settings 导入路径导致登录 401
...
- packages.config.settings 模块不存在,改为 from app.config import settings
- 此 bug 导致 JWT token 生成时 ModuleNotFoundError,被 except 捕获后返回通用 401
2026-06-27 17:17:38 +08:00
xiaoxia
a6e85092ce
fix: 统一 ENABLE_REDIS_SESSIONS 命名,修复登录因 AttributeError 导致 500
2026-06-27 17:05:48 +08:00
CI Bot
11494918eb
fix: resolve all workspace removal breakage - stub permissions, quota, ports, adapters
...
- Remove Workspace from domain/__init__.py exports
- Stub domain/permissions.py (all checks pass)
- Stub domain/quota.py (all checks pass)
- Create missing port stubs: workspace_member_repository, workspace_repository, workspace_invitation_repository
- Create missing adapter stubs: workspace_repository, workspace_invitation_repository
- Create routes/permissions.py stub (require_workspace_member no-op)
- Fix .env Redis URL encoding on production server
2026-06-27 09:16:53 +08:00
CI Bot
0c97f40825
Merge branch 'pr-35' into develop
2026-06-27 00:23:55 +08:00
Deploy Agent
78e1af1054
feat: 标准化部署流程和文档化
...
- 添加 docs/deployment.md 完整部署文档,包含:
- 环境要求
- 首次部署流程
- 版本更新流程
- 回滚流程
- 常见问题排查
- 环境变量说明
- 添加标准化部署脚本:
- scripts/deploy_production.sh: 生产环境部署脚本
- scripts/deploy_staging.sh: 预发布环境部署脚本
- scripts/rollback.sh: 回滚脚本(支持交互式和命令行模式)
- 完善 infra/docker/compose.yml:
- 添加详细注释说明
- 添加资源限制建议(注释)
- 记录 web volume 挂载的注意事项(避免 403 问题)
- 添加 .github/workflows/release.yml:
- 完整的发布流程
- 构建所有三个镜像(api、worker、web)
- 自动部署到生产环境
- E2E 测试和 GitHub Release 创建
2026-06-27 00:09:46 +08:00
xiaoxia
e915c0d6df
fix: 创建 API 和 Worker Dockerfiles
...
- 创建 infra/docker/api.Dockerfile 用于 FastAPI 应用
- 创建 infra/docker/worker.Dockerfile 用于 Celery Worker
- 使用 python:3.12-slim-bookworm 作为基础镜像
- Worker 包含 ffmpeg 和 opencv 依赖(用于视频处理)
- API 包含 PostgreSQL 开发库(用于 psycopg2 编译)
- 分离镜像减少不必要的依赖
2026-06-27 00:04:15 +08:00
xiaoxia
0fb4d95bd0
fix: Web Dockerfile API URL 改为通用默认值
...
- 将硬编码的 VITE_API_URL=http://47.98.113.167:8000 改为 https://saas-api.xiaoxiajianji.com
- 支持通过 --build-arg VITE_API_URL=xxx 在构建时覆盖默认值
2026-06-27 00:02:34 +08:00
xiaoxia
df8fe4dba3
fix: P3-3 add multi-stage build to api.Dockerfile
2026-06-26 17:56:51 +08:00
Xiaoxia AI
12b2eeb050
fix(deploy): load production web artifact on business host
2026-06-25 01:51:17 +08:00
Xiaoxia AI
a35abd155c
fix(deploy): guard staging builds on business host
2026-06-24 22:54:55 +08:00
Xiaoxia AI
1c883ec704
fix(deploy): make staging web build opt-in
2026-06-24 19:51:34 +08:00
Xiaoxia AI
bdb87508a1
fix(deploy): reuse staging backend images by default
2026-06-24 19:48:12 +08:00
Xiaoxia AI
bf452e3510
fix(ops): prune old docker artifacts after deploy
2026-06-23 22:39:18 +08:00
Xiaoxia AI
efa86088b8
fix(web): preserve lazy chunks across releases
2026-06-23 18:32:17 +08:00
Xiaoxia AI
f65a6a4145
fix(upload): raise production upload limit to 800mb
2026-06-23 12:32:11 +08:00
Xiaoxia AI
159ebae0f2
fix(upload): support mov assets and large web uploads
2026-06-23 11:44:10 +08:00
Xiaoxia AI
545f2cba0f
fix(web): allow production uploads through web proxy
2026-06-23 11:21:39 +08:00
Xiaoxia AI
b7b0765ba6
docs(release): close package one boundary validation
2026-06-23 10:04:56 +08:00
Xiaoxia AI
816d98175a
fix(ops): expose release version and limit worker concurrency
2026-06-23 07:52:19 +08:00
Xiaoxia AI
fb633a8ed4
fix(deploy): recreate web after api release
2026-06-22 20:07:16 +08:00
Xiaoxia AI
8a9542274f
fix(deploy): require runtime image artifact for production
2026-06-22 14:53:48 +08:00
Xiaoxia AI
6fb8d11cec
fix(deploy): skip runtime image builds on production host
2026-06-22 10:04:26 +08:00
Xiaoxia AI
1cf43fa6a0
fix(deploy): isolate production web api proxy
2026-06-22 10:02:03 +08:00
Xiaoxia AI
1939878dec
fix(deploy): require prebuilt web artifact for production
2026-06-22 09:34:27 +08:00
Xiaoxia AI
c7f243d7d8
fix(deploy): cache web dependencies during image build
2026-06-22 07:47:49 +08:00
Xiaoxia AI
d7ff0dceb1
fix(deploy): allow direct production deploy host prefix
2026-06-22 07:15:02 +08:00
Xiaoxia AI
aa2b190866
fix(deploy): allow direct staging deploy host prefix
2026-06-21 23:13:51 +08:00
Xiaoxia AI
238cffcbcf
fix(deploy): align staging deploy host prefix
2026-06-21 23:11:36 +08:00
Xiaoxia AI
70a9f4f4b5
fix(deploy): use mirrored web base images
2026-06-21 17:23:24 +08:00
Xiaoxia AI
2874ab0ac0
fix(deploy): rebuild web image during releases
2026-06-21 16:49:00 +08:00
Xiaoxia AI
a186f367f3
fix(deploy): separate production application deployment
2026-06-21 15:50:40 +08:00
Xiaoxia AI
713a244e80
chore(release): provision separated production infrastructure
2026-06-21 15:35:09 +08:00
Xiaoxia AI
6d68c28860
chore(release): validate production env readiness
2026-06-21 12:34:51 +08:00
Xiaoxia AI
46bd774742
build(docker): include maintenance scripts
2026-06-21 11:32:54 +08:00
Xiaoxia AI
a9751783b2
fix(deploy): parameterize alembic schema probe
2026-06-21 07:04:39 +08:00
Xiaoxia AI
654c0f3ab0
fix(deploy): preserve alembic version probe quoting
2026-06-21 07:02:46 +08:00
Xiaoxia AI
4c89d6b440
fix(deploy): handle alembic baseline stamping
2026-06-21 06:55:56 +08:00
Xiaoxia AI
0809a079c5
refactor(db): introduce alembic schema baseline
2026-06-21 06:48:16 +08:00
Xiaoxia AI
e61dfc27f6
refactor(deploy): freeze canonical docker entrypoint
2026-06-21 05:09:21 +08:00
Xiaoxia AI
c93e064f3b
fix(deploy): bind generated files to host path
2026-06-20 23:44:00 +08:00