# 宝塔部署说明

`public-workflow-docs` 是纯静态文档站，部署时不需要安装依赖，也不需要构建。

当前发布方式是独立域名静态站：

```text
https://doc.codevalley.cn/
```

DNS 记录为 `doc.codevalley.cn A 39.106.81.189`，HTTPS 证书由宝塔服务器签发和托管。

## 当前服务器结构

```text
/www/wwwroot/doc-codevalley/
├── index.html
├── assets/
├── content/
├── docs/
└── ops/
```

## 当前部署命令

本地先生成一个只包含公开展示文件的临时目录，再同步到服务器：

```bash
rm -rf /tmp/public-workflow-docs-deploy
mkdir -p /tmp/public-workflow-docs-deploy
rsync -a \
  --include='/index.html' \
  --include='/assets/***' \
  --include='/docs/***' \
  --include='/content/***' \
  --include='/ops/' \
  --include='/ops/baota-deploy.html' \
  --include='/ops/BAOTA_DEPLOY.md' \
  --exclude='*' \
  ./ /tmp/public-workflow-docs-deploy/

rsync -av --delete \
  /tmp/public-workflow-docs-deploy/ \
  zhimeng-prod:/www/wwwroot/doc-codevalley/
```

## Nginx 静态站规则

独立 vhost 指向 `/www/wwwroot/doc-codevalley`：

```nginx
server {
  listen 80;
  server_name doc.codevalley.cn;
  root /www/wwwroot/doc-codevalley;
  index index.html;
  location / { try_files $uri $uri/ =404; }
}
```

这样已存在的页面正常返回 `200`，不存在的开发辅助路径返回 `404`。

## 验证 URL

```text
https://doc.codevalley.cn/
https://doc.codevalley.cn/docs/ai-workflow.html
https://doc.codevalley.cn/ops/baota-deploy.html
https://doc.codevalley.cn/content/AI_WORKFLOW_PUBLIC_GUIDE.md
```

开发辅助路径应返回 `404`：

```text
https://doc.codevalley.cn/.gitignore
https://doc.codevalley.cn/package.json
https://doc.codevalley.cn/scripts/check-static-site.mjs
```

## 发布前检查

本地执行：

```bash
node scripts/check-static-site.mjs
python3 -m http.server 8088
```

打开 `http://127.0.0.1:8088/`，确认首页、HTML 文档和 Markdown 源稿都能访问。
