chore: remove README.md and update deploy documentation with Chinese localization and detailed setup instructions [skip ci]
This commit is contained in:
108
AGENTS.md
Normal file
108
AGENTS.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# AI 代理指南
|
||||
|
||||
本文档为 AI 代理提供项目上下文和操作指南。
|
||||
|
||||
## 项目概述
|
||||
|
||||
- **类型**:Astro 静态博客站点
|
||||
- **域名**:https://wuyouwulv.me
|
||||
- **仓库**:voson/publish(Gitea)
|
||||
- **部署**:Gitea Actions → SSH → Vultr 服务器
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **框架**:Astro 5.x
|
||||
- **语言**:TypeScript
|
||||
- **样式**:全局 CSS
|
||||
- **部署**:Gitea Actions + SSH 密码认证
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
publish/
|
||||
├── .gitea/workflows/deploy.yml # CI/CD 部署工作流
|
||||
├── deploy/ # 部署文档和配置示例
|
||||
├── public/ # 静态资源
|
||||
├── src/
|
||||
│ ├── components/ # Astro 组件
|
||||
│ ├── content/blog/ # 博客文章(Markdown)
|
||||
│ ├── layouts/ # 页面布局
|
||||
│ ├── pages/ # 页面路由
|
||||
│ └── styles/ # 全局样式
|
||||
└── astro.config.mjs # Astro 配置
|
||||
```
|
||||
|
||||
## 服务器配置
|
||||
|
||||
| 项目 | 值 |
|
||||
|------|-----|
|
||||
| 服务器 IP | `45.32.105.53` |
|
||||
| SSH 用户 | `root` |
|
||||
| SSH 端口 | `22` |
|
||||
| 部署路径 | `/var/www/publish` |
|
||||
| Web 服务器 | Caddy |
|
||||
|
||||
服务器配置文件位置:`/Users/voson/Library/Mobile Documents/com~apple~CloudDocs/refining/config.toml`
|
||||
|
||||
## Gitea 配置
|
||||
|
||||
- **实例**:https://gitea.refining.dev
|
||||
- **仓库**:voson/publish(注意:不是 refining/publish)
|
||||
- **Token**:见 `config.toml` 中的 `[services.gitea]`
|
||||
|
||||
### Actions 变量(vars)
|
||||
|
||||
| 变量 | 说明 |
|
||||
|------|------|
|
||||
| `SITE_URL` | 站点 URL,必须包含 `https://` |
|
||||
| `DEPLOY_SSH_HOST` | 服务器 IP |
|
||||
| `DEPLOY_SSH_PORT` | SSH 端口 |
|
||||
| `DEPLOY_SSH_USER` | SSH 用户名 |
|
||||
| `DEPLOY_PATH` | 部署目录 |
|
||||
| `WEBHOOK_URL` | 飞书通知 Webhook |
|
||||
|
||||
### Actions 密钥(secrets)
|
||||
|
||||
| 密钥 | 说明 |
|
||||
|------|------|
|
||||
| `DEPLOY_SSH_PASSWORD` | SSH 登录密码 |
|
||||
|
||||
## 常见操作
|
||||
|
||||
### 查看构建日志
|
||||
|
||||
```bash
|
||||
# 获取最近的运行
|
||||
curl -s -H "Authorization: token TOKEN" \
|
||||
"https://gitea.refining.dev/api/v1/repos/voson/publish/actions/runs?limit=1" | jq .
|
||||
|
||||
# 获取 job 日志
|
||||
curl -s -H "Authorization: token TOKEN" \
|
||||
"https://gitea.refining.dev/api/v1/repos/voson/publish/actions/jobs/JOB_ID/logs"
|
||||
```
|
||||
|
||||
### 设置仓库变量
|
||||
|
||||
```bash
|
||||
curl -X POST -H "Authorization: token TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"data":"VALUE","value":"VALUE"}' \
|
||||
"https://gitea.refining.dev/api/v1/repos/voson/publish/actions/variables/VAR_NAME"
|
||||
```
|
||||
|
||||
### 手动部署
|
||||
|
||||
```bash
|
||||
cd /Users/voson/publish
|
||||
npm run build
|
||||
tar -C dist -czf - . | sshpass -p 'PASSWORD' ssh root@45.32.105.53 \
|
||||
"set -euo pipefail; tmp='/var/www/publish.tmp'; rm -rf \"\$tmp\"; mkdir -p \"\$tmp\"; tar -xzf - -C \"\$tmp\"; rm -rf '/var/www/publish'; mv \"\$tmp\" '/var/www/publish'"
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **仓库路径**:仓库是 `voson/publish`,不是 `refining/publish`
|
||||
2. **SITE_URL**:必须包含 `https://` 前缀,否则 Astro 构建会报 "Invalid url"
|
||||
3. **SSH 认证**:使用密码认证(sshpass),不是 SSH 密钥
|
||||
4. **Gitea Cache**:Gitea 不支持 `actions/cache@v4`,必须使用 `v3`
|
||||
5. **变量 vs 密钥**:敏感信息(密码)用 secrets,其他用 vars
|
||||
Reference in New Issue
Block a user