chore(release): initialize separated production env
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 14s
Deploy / Deploy Staging (push) Successful in 2m18s
Deploy / Deploy Production (push) Has been skipped

This commit is contained in:
Xiaoxia AI
2026-06-21 14:24:23 +08:00
parent 1f89f8edfe
commit f22af7ee4c
7 changed files with 146 additions and 5 deletions
+10 -3
View File
@@ -12,7 +12,14 @@
## 2. 生产环境检查
- `/var/lib/xiaoxia-saas-production/.env` 存在且权限正确。
- `/var/lib/xiaoxia-saas-production/.env` 存在且权限正确。首次初始化必须使用非部署脚本生成独立 production env
```bash
scripts/init_production_env.sh
```
脚本只创建目录和 `.env`,不会启动容器;生成后必须人工替换 `CHANGE_ME_PRODUCTION_DB_PASSWORD`,并确认生产 DB/Redis 使用 `xiaoxia-postgres-production` / `xiaoxia-redis-production`,不得复用 staging 的 `xiaoxia-postgres` / `xiaoxia-redis`
- `APP_ENV=production`
- `DEBUG=false`
- `AUTO_CREATE_SCHEMA=false`
@@ -21,8 +28,8 @@
- `REDIS_URL` 指向生产 Redis。
- OSS 配置已确认或明确保持本地 fallback。
- `GENERATED_FILES_HOST_DIR` 生产环境不得指向 staging 目录。
- 本地校验文件:`python scripts/validate_release_env.py /var/lib/xiaoxia-saas-production/.env --strict-external`
- 容器内校验已注入环境:`docker exec xiaoxia-api-production python /app/scripts/validate_release_env.py --from-environ --strict-external`
- 本地校验文件:`python scripts/validate_release_env.py /var/lib/xiaoxia-saas-production/.env --strict-external`SMTP 仅在 `ENABLE_EMAIL_DELIVERY=true` 时强制)
- 容器内校验已注入环境:`docker exec xiaoxia-api-production python /app/scripts/validate_release_env.py --from-environ --strict-external`SMTP 仅在启用邮件时强制)
- 外部服务 smoke`docker exec xiaoxia-api-production python /app/scripts/smoke_external_services.py --strict --skip-smtp`SMTP 未启用时)。
- SMTP 真发信 smoke(启用邮件前必须执行):`docker exec xiaoxia-api-production python /app/scripts/smoke_external_services.py --strict --send-email-to <测试邮箱>`
- 如开启邮件/session