# Gitea Secrets 配置说明

本文档说明如何在 Gitea 中配置 CI/CD 工作流所需的 Secrets（密钥）。

## 重要说明

因为 Act Runner 运行在部署服务器本地，所以**不需要 SSH 连接**，配置非常简单！

---

## 配置步骤

### 1. 进入仓库设置

1. 打开你的 Gitea 仓库页面
2. 点击右上角的 **设置（Settings）** 按钮
3. 在左侧菜单中找到 **Secrets** 或 **密钥** 选项

### 2. 添加以下 Secrets

点击 **添加 Secret** 按钮，逐个添加以下密钥：

#### Docker Registry 认证信息

| Secret 名称 | 值 | 说明 |
|------------|-----|------|
| `REGISTRY_USERNAME` | `junhong_admin` | Docker Registry 用户名 |
| `REGISTRY_PASSWORD` | `JunHong@2025!Registry` | Docker Registry 密码 |

**就这么简单！只需要 2 个 Secrets！** ✅

---

## 配置完成检查清单

- [ ] `REGISTRY_USERNAME` 已配置
- [ ] `REGISTRY_PASSWORD` 已配置

---

## 验证配置

### 测试 Registry 登录

在部署服务器上手动测试 Registry 连接：

```bash
# 登录测试
docker login registry.boss160.cn -u junhong_admin
# 输入密码：JunHong@2025!Registry

# 预期输出：Login Succeeded
```

如果登录成功，说明配置正确。

---

## 常见问题

### Q1: 工作流显示 "secret not found"

**原因**：Secret 名称拼写错误或未添加

**解决方法**：
1. 检查 Secret 名称是否完全一致（区分大小写）
2. 确认 2 个 Secrets 都已添加

### Q2: Registry 登录失败

**原因**：用户名或密码错误

**解决方法**：
```bash
# 在服务器上手动测试登录
docker login registry.boss160.cn -u junhong_admin
# 输入密码：JunHong@2025!Registry

# 如果失败，检查 Registry 认证配置
cat /home/qycard001/registry/auth/htpasswd
```

### Q3: 为什么不需要 SSH 密钥？

**回答**：因为你的 Act Runner (`docker-runner-01`) 运行在部署服务器本地，可以直接执行 `docker-compose` 命令，不需要通过 SSH 连接到其他机器。

**架构示意**：
```
┌──────────────────────────────────────────┐
│  部署服务器 (47.111.166.169)             │
│                                          │
│  ┌────────────────┐   ┌───────────────┐ │
│  │ Act Runner     │──→│ Docker Daemon │ │
│  │(docker-runner) │   │               │ │
│  └────────────────┘   └───────────────┘ │
│         ↓                     ↓          │
│    执行工作流              部署容器       │
└──────────────────────────────────────────┘
```

---

## 安全注意事项

1. **绝不**在代码中硬编码密钥信息
2. **定期更换** Registry 密码
3. **监控** Gitea Actions 日志，防止密钥泄露
4. 如果 Secrets 泄露，**立即**更换密码

---

## 下一步

配置完成后，参考 [部署指南](./deployment-guide.md) 进行首次部署。
