feat: 添加生产环境部署工作流和相关文档
Deploy backend / deploy (push) Has been cancelled

This commit is contained in:
yuxuanhui
2026-09-29 19:17:46 +08:00
parent b0c62d461e
commit 34a2e3b751
5 changed files with 125 additions and 7 deletions
+7 -2
View File
@@ -21,6 +21,8 @@ backend/ Go 1.26 + PostgreSQL 18
go.mod / go.sum Go 模块与依赖
Dockerfile 后端镜像构建
compose.yaml API 与数据库编排
compose.prod.yaml Gitea 生产部署编排
DEPLOYMENT.md 生产部署与回退说明
.env.example 后端环境变量示例
scripts/dev.sh 本机 Go 开发启动脚本
```
@@ -81,7 +83,7 @@ docker compose up -d --wait postgres
## Docker 运行与部署
以下命令在 `backend/` 中执行:
以下本地默认 Compose 命令在 `backend/` 中执行:
```sh
docker compose up -d --build --wait
@@ -97,7 +99,10 @@ Compose 等待数据库健康后启动 API,并等待两个服务就绪。API
`API_PORT` 控制 Docker API 的宿主机端口,`HTTP_ADDR` 控制本机 Go 服务的监听地址;修改后应同步小程序的 API 地址。本机 Go 服务与 Docker API 不应同时占用同一端口。
正式上线需配置 HTTPS、微信 request 合法域名、环境密码与数据库备份。小程序由微信开发者工具发布,Docker 部署后端和数据库。
正式上线需配置 HTTPS、微信 request 合法域名、数据库连接密钥与备份。小程序由微信开发者工具发布;生产 Docker Compose 只部署后端 API,连接已有 PostgreSQL 服务器。
使用 Gitea Actions 在目标 Docker 主机部署时,按 [生产部署说明](backend/DEPLOYMENT.md) 配置 Runner、仓库密钥与反向代理;工作流位于 `.gitea/workflows/deploy-backend.yaml`。
生产数据库连接使用单个 `DATABASE_URL` 密钥;本地开发仍使用 `backend/.env` 中的 `PG*` 变量。
PostgreSQL 18 数据卷按[官方镜像说明](https://hub.docker.com/_/postgres)挂载到 `/var/lib/postgresql`。已有数据库卷的密码不会因修改 `.env` 自动更新;需按数据库流程修改,不要为更新密码删除数据卷。