feat: 使用 Gitea Secrets 管理全部密钥
- deploy.yml 从 secrets 动态生成 .env,部署后自动删除 - docker-compose.prod.yml 支持全部业务配置注入(短信/微信/支付宝等) - .env.example 只保留 GITEA_RUNNER_TOKEN,其他密钥全部迁移到 Secrets - 更新 deploy/README.md 文档,完整列出 Secrets 配置清单 服务器上不再存储任何密码文件,安全性大幅提升 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+46
-6
@@ -64,16 +64,16 @@ scripts/
|
||||
|
||||
```bash
|
||||
# 将代码克隆到服务器
|
||||
git clone <你的GitLab仓库地址> ~/rent-platform
|
||||
git clone <你的Gitea仓库地址> ~/rent-platform
|
||||
cd ~/rent-platform
|
||||
|
||||
# 运行初始化(安装 Docker、创建网络、启动网关)
|
||||
# 运行初始化(安装 Docker、创建网络、启动 Gitea + 网关)
|
||||
bash scripts/setup-server.sh
|
||||
```
|
||||
|
||||
脚本会自动完成:
|
||||
- 安装 Docker、Docker Compose、Git、pnpm
|
||||
- 创建 `.env` 文件并提示你填写密码
|
||||
- 启动 Gitea + Act Runner
|
||||
- 创建 Docker 网络(rent-prod、rent-test)
|
||||
- 启动 Gateway Nginx
|
||||
|
||||
@@ -148,7 +148,47 @@ docker logs rent-act-runner
|
||||
|
||||
在 Gitea → **Settings → Actions → Runners** 页面应能看到 `rent-deploy-runner` 已注册并在线。
|
||||
|
||||
### 第 3 步:推送代码到 Gitea
|
||||
### 第 3 步:配置 Secrets(密钥安全)
|
||||
|
||||
> 所有密钥通过 Gitea Secrets 管理,服务器上不存储任何密码文件。
|
||||
|
||||
Gitea → **仓库 → Settings → Actions → Secrets**,添加以下密钥:
|
||||
|
||||
**生产环境:**
|
||||
|
||||
| Secret 名 | 说明 | 示例 |
|
||||
|-----------|------|------|
|
||||
| `PROD_DB_PASSWORD` | 数据库密码 | 强密码 |
|
||||
| `PROD_JWT_SECRET` | JWT 密钥 | 随机字符串 |
|
||||
| `PROD_JWT_EXPIRES_IN` | Token 过期时间 | `2h` |
|
||||
| `PROD_JWT_REFRESH_EXPIRES_IN` | 刷新 Token 过期 | `7d` |
|
||||
| `PROD_SMS_ACCESS_KEY_ID` | 阿里云 AK | 短信服务 |
|
||||
| `PROD_SMS_ACCESS_KEY_SECRET` | 阿里云 SK | 短信服务 |
|
||||
| `PROD_SMS_SIGN_NAME` | 短信签名 | 品居会 |
|
||||
| `PROD_SMS_TEMPLATE_CODE` | 短信模板编码 | SMS_xxx |
|
||||
| `PROD_WECHAT_APPID` | 微信 AppID | wx1234... |
|
||||
| `PROD_WECHAT_SECRET` | 微信 Secret | 微信密钥 |
|
||||
| `PROD_WECHAT_MCHID` | 微信商户号 | 1234567890 |
|
||||
| `PROD_WECHAT_SERIAL_NO` | 证书序列号 | 微信支付 |
|
||||
| `PROD_WECHAT_APIV3_KEY` | APIv3 密钥 | 32 位字符串 |
|
||||
| `PROD_WECHAT_PRIVATE_KEY` | 商户私钥 | PEM 内容 |
|
||||
| `PROD_WECHAT_PAY_NOTIFY_URL` | 支付回调 | `https://api.pinzhuhui.com/...` |
|
||||
| `PROD_WECHAT_REFUND_NOTIFY_URL` | 退款回调 | `https://api.pinzhuhui.com/...` |
|
||||
| `PROD_ALIPAY_APPID` | 支付宝 AppID | 2021xxx |
|
||||
| `PROD_ALIPAY_PRIVATE_KEY` | 支付宝私钥 | 密钥内容 |
|
||||
| `PROD_API_BASE_URL` | API 地址 | `https://api.pinzhuhui.com` |
|
||||
|
||||
**测试环境:**
|
||||
|
||||
| Secret 名 | 说明 |
|
||||
|-----------|------|
|
||||
| `TEST_DB_PASSWORD` | 测试数据库密码 |
|
||||
| `TEST_JWT_SECRET` | 测试 JWT 密钥 |
|
||||
| `TEST_API_BASE_URL` | `https://api-test.pinzhuhui.com` |
|
||||
|
||||
> 暂时没有的配置(如微信支付、支付宝)可以先不填,流水线会使用空值默认。
|
||||
|
||||
### 第 4 步:推送代码到 Gitea
|
||||
|
||||
```bash
|
||||
# 添加 Gitea 远程仓库
|
||||
@@ -160,7 +200,7 @@ git push gitea test
|
||||
git push gitea prod
|
||||
```
|
||||
|
||||
### 第 4 步:自动部署触发
|
||||
### 第 5 步:自动部署触发
|
||||
|
||||
```bash
|
||||
# 推送 test 分支 → 自动部署测试环境
|
||||
@@ -170,7 +210,7 @@ git push gitea test
|
||||
git push gitea prod
|
||||
```
|
||||
|
||||
流水线:install → build → deploy
|
||||
流水线:install → build → generate .env from secrets → deploy
|
||||
|
||||
在 Gitea → **仓库 → Actions** 页面查看实时日志。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user