跳到主要内容

部署指南

本项目采用混合部署方案,同时部署到多个平台以优化不同地区的访问速度。

部署平台​

1. Vercel(主要 - 国际访问)​

状态:✅ 已配置并部署

访问地址:https://website-lilac-seven-17.vercel.app

部署方式:

  • 自动部署:每次 push 到 master 分支自动触发
  • 手动部署:cd website && npx vercel --prod

配置文件:

  • website/vercel.json - Vercel 配置
  • website/.vercel/ - 项目链接信息(已加入 .gitignore)

优势:

  • 零配置自动部署
  • 全球 CDN 加速
  • 免费额度充足
  • 构建速度快

2. GitHub Pages(备用 - 开源访问)​

状态:⚠️ 需要手动启用

预期地址:https://cygmris.github.io/snooker-guide/

部署方式:

  • 自动部署:GitHub Actions 在每次 push 时自动构建并部署
  • 工作流文件:.github/workflows/deploy.yml

首次启用步骤(必须执行):

  1. 启用 GitHub Pages:

  2. 触发首次部署:

  3. 等待部署完成:

  4. 验证部署:

配置说明:

  • 使用 Node.js 20
  • 自动缓存 npm 依赖
  • 构建产物上传到 GitHub Pages
  • 支持手动触发(workflow_dispatch)

优势:

  • 完全免费
  • 与代码仓库集成
  • 适合开源项目

注意事项:

  • 首次启用需要在仓库设置中开启 GitHub Pages
  • 如果使用自定义域名,需要配置 website/static/CNAME 文件
  • 国内访问速度可能较慢

3. Claw Cloud(推荐 - 日本节点)​

状态:⏳ 待配置

平台:基于 Sealos 的 Kubernetes 云平台

访问地址:https://jp-members-1.run.claw.cloud

部署方式 A:APP Launchpad(推荐 - 最简单)

  1. 登录 Claw Cloud:

  2. 打开 APP Launchpad:

    • 在控制台找到 "APP Launchpad" 或 "应用管理"
    • 点击 "新建应用" 或 "Deploy New App"
  3. 配置应用:

    • 应用名称: snooker-guide
    • 镜像: ghcr.io/cygmris/snooker-guide:latest
    • 端口: 80
    • CPU: 50m - 200m
    • 内存: 64Mi - 256Mi
    • 副本数: 1
  4. 启用公网访问:

    • 勾选 "启用公网访问"
    • 系统自动生成访问域名
    • 可选:配置自定义域名
  5. 部署:

    • 点击 "部署"
    • 等待 1-2 分钟启动
    • 访问生成的 URL

部署方式 B:使用 YAML 配置

  1. 在 APP Launchpad 中选择 "从 YAML 导入"
  2. 粘贴 sealos/deployment.yaml 内容
  3. 修改域名配置(如需自定义域名)
  4. 点击部署

部署方式 C:GitHub Actions 自动部署(推荐 - 完全自动化)

配置一次后,每次 push 代码自动部署到 Claw Cloud,无需手动操作。

配置步骤:

  1. 获取 Claw Cloud Kubeconfig:

    • 登录 Claw Cloud:https://jp-members-1.run.claw.cloud
    • 打开 Terminal 应用
    • 运行命令获取 kubeconfig:
      cat ~/.kube/config | base64
    • 复制输出的 base64 编码内容
  2. 在 GitHub 仓库添加 Secret:

  3. 触发部署:

    • 方式 1:推送代码到 master 分支(自动触发)
    • 方式 2:手动触发
      gh workflow run deploy-claw.yml
    • 方式 3:在 GitHub Actions 页面手动触发
  4. 查看部署进度:

自动化流程:

代码 Push → GitHub Actions 触发
↓
构建 Docker 镜像 → 推送到 GHCR
↓
kubectl apply 部署到 Claw Cloud
↓
等待 Pod 就绪 → 验证部署成功

部署方式 D:使用 Sealos CLI

# 安装 Sealos CLI
curl -sfL https://raw.githubusercontent.com/labring/sealos/main/scripts/install.sh | sh -s v5.0.0

# 登录
sealos login jp-members-1.run.claw.cloud

# 部署
kubectl apply -f sealos/deployment.yaml

配置文件:

  • Dockerfile - Docker 镜像构建
  • sealos/deployment.yaml - Kubernetes 部署配置
  • .github/workflows/docker-build.yml - 自动构建镜像

自动部署流程:

  1. 推送代码到 GitHub
  2. GitHub Actions 自动构建 Docker 镜像
  3. 推送到 GitHub Container Registry
  4. 在 Claw Cloud 中重启应用拉取新镜像

优势:

  • 日本节点,亚洲访问速度快
  • 基于 Kubernetes,稳定可靠
  • 按需计费,成本低(约 ¥3.6/月)
  • 自动 HTTPS 证书
  • 支持自动扩缩容

详细指南:参见 CLAW_DEPLOYMENT.md


4. Zeabur(备选 - 国内访问优化)​

状态:⏳ 待配置

部署方式:

  1. 访问 https://zeabur.com
  2. 使用 GitHub 账号登录
  3. 创建新项目,选择 cygmris/snooker-guide 仓库
  4. Zeabur 会自动检测 zeabur.json 配置
  5. 确认配置后部署

配置文件:

  • zeabur.json - Zeabur 配置

优势:

  • 国内访问速度快
  • 自动部署
  • 界面友好

注意事项:

  • 免费额度有限(每月 5GB 流量)
  • 需要手动在 Zeabur 平台创建项目

部署架构​

GitHub Repository (master 分支)
|
| (git push)
|
+------------------+------------------+------------------+
| | | |
v v v v
Docker 镜像构建 Vercel 自动部署 GitHub Actions Zeabur 自动部署
(GitHub Actions) (构建 + 部署)
| | | |
v | v v
GitHub Container v GitHub Pages 国内优化访问
Registry 全球 CDN 访问
|
v
Claw Cloud 拉取镜像
(日本节点 K8s)

访问地址汇总​

平台地址状态适用地区优先级
Claw Cloud待配置⏳ 待配置亚洲(日本节点)⭐⭐⭐ 推荐
Vercelhttps://website-lilac-seven-17.vercel.app✅ 运行中全球(国际优先)⭐⭐
GitHub Pageshttps://cygmris.github.io/snooker-guide/⚠️ 需启用全球(备用)⭐
Zeabur待配置⏳ 待配置中国大陆⭐

本地开发​

cd website
npm install
npm start

访问 http://localhost:3000

本地构建测试​

cd website
npm run build
npm run serve

访问 http://localhost:3000

更新部署​

所有平台都配置了自动部署,只需:

git add .
git commit -m "更新内容"
git push

所有平台会自动触发构建和部署。

故障排查​

Vercel 部署失败​

GitHub Actions 失败​

Zeabur 部署失败​

  • 检查 zeabur.json 配置
  • 查看 Zeabur 控制台日志
  • 确认构建命令和输出目录正确

自定义域名(可选)​

如需配置自定义域名:

Vercel​

  1. 在 Vercel 项目设置中添加域名
  2. 按提示配置 DNS 记录

GitHub Pages​

  1. 创建 website/static/CNAME 文件,内容为域名
  2. 在域名 DNS 设置中添加 CNAME 记录指向 cygmris.github.io

Zeabur​

  1. 在 Zeabur 项目设置中添加域名
  2. 按提示配置 DNS 记录

监控与分析​

  • Vercel Analytics:自动启用
  • GitHub Pages:可集成 Google Analytics
  • Zeabur:查看控制台流量统计

GitHub Actions 免费额度​

公开仓库(本项目适用)​

项目额度
Actions 运行分钟数无限制
并发任务数无限制
Packages 存储(公开镜像)无限制

公开仓库的 GitHub Actions 完全免费,没有任何限制。

私有仓库(仅供参考)​

账户类型每月免费分钟数Packages 存储
Free2,000 分钟500 MB
Pro3,000 分钟1 GB
Team3,000 分钟2 GB
Enterprise50,000 分钟50 GB

分钟数倍率(仅私有仓库计费):

  • Linux runner: 1x
  • Windows runner: 2x
  • macOS runner: 10x

本项目预估消耗​

每次部署约 3-4 分钟(Linux runner),即使是私有仓库:

  • 每月 2,000 分钟 ÷ 4 分钟 ≈ 500 次部署
  • 每天可部署 16 次以上

查看使用情况​

访问:https://github.com/settings/billing/summary