跳到主要内容

Claw Cloud 自动部署配置指南

一次配置,永久自动化​

配置完成后,每次 git push 自动部署到 Claw Cloud,无需任何手动操作。

配置步骤(5 分钟)​

1. 获取 Kubeconfig​

在 Claw Cloud 中:

  1. 访问 https://jp-members-1.run.claw.cloud
  2. 登录你的账号
  3. 打开 Terminal 应用
  4. 运行以下命令:
cat ~/.kube/config | base64
  1. 复制输出的 base64 编码内容(很长的一串字符)

2. 配置 GitHub Secret​

  1. 访问 GitHub 仓库设置: https://github.com/cygmris/snooker-guide/settings/secrets/actions

  2. 点击 "New repository secret"

  3. 填写信息:

    • Name: CLAW_KUBECONFIG
    • Value: 粘贴刚才复制的 base64 内容
  4. 点击 "Add secret"

3. 完成!​

配置完成。现在:

  • ✅ 每次 git push 到 master 分支自动部署
  • ✅ Docker 镜像自动构建并推送
  • ✅ Kubernetes 自动更新部署
  • ✅ 自动验证部署成功

验证配置​

触发首次部署​

# 方式 1:推送任意代码变更
git commit --allow-empty -m "test: 触发自动部署"
git push

# 方式 2:手动触发 workflow
gh workflow run deploy-claw.yml

查看部署进度​

  1. 访问 GitHub Actions: https://github.com/cygmris/snooker-guide/actions

  2. 点击最新的 "Deploy to Claw Cloud" workflow

  3. 查看实时日志

预期输出​

成功的部署日志应该包含:

✅ Deployment successful! 1 replica(s) ready.

=== Deployment Status ===
NAME READY UP-TO-DATE AVAILABLE
snooker-guide 1/1 1 1

NAME READY STATUS RESTARTS
snooker-guide-xxxxxxxxxx-xxxxx 1/1 Running 0

工作流程​

┌─────────────────┐
│ Git Push │
└────────┬────────┘
│
v
┌─────────────────────────────────┐
│ GitHub Actions 自动触发 │
├─────────────────────────────────┤
│ 1. 构建 Docker 镜像 │
│ 2. 推送到 GHCR │
│ 3. kubectl apply 部署 │
│ 4. 等待 Pod 就绪 │
│ 5. 验证部署成功 │
└────────┬────────────────────────┘
│
v
┌─────────────────┐
│ Claw Cloud │
│ 自动更新应用 │
└─────────────────┘

常见问题​

Q: Kubeconfig 会过期吗?​

A: 会。Claw Cloud 的 kubeconfig 通常有效期为 30-90 天。过期后需要重新获取并更新 GitHub Secret。

Q: 如何更新 Kubeconfig?​

A: 重复步骤 1 和 2,用新的 base64 内容覆盖旧的 Secret。

Q: 部署失败怎么办?​

A: 查看 GitHub Actions 日志,常见原因:

  • Kubeconfig 过期 → 重新获取
  • 镜像拉取失败 → 检查 GHCR 权限
  • 资源不足 → 增加 CPU/内存限制

Q: 如何回滚到上一版本?​

A: 在 Claw Cloud Terminal 中运行:

kubectl rollout undo deployment/snooker-guide -n snooker-guide

Q: 如何暂停自动部署?​

A: 在 GitHub 仓库设置中禁用 workflow: https://github.com/cygmris/snooker-guide/actions/workflows/deploy-claw.yml

手动部署(备用方案)​

如果自动部署失败,可以手动部署:

# 1. 配置 kubectl
mkdir -p ~/.kube
echo "$CLAW_KUBECONFIG" | base64 -d > ~/.kube/config

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

# 3. 查看状态
kubectl get pods -n snooker-guide

监控部署​

实时查看 Pod 日志​

kubectl logs -f deployment/snooker-guide -n snooker-guide

查看部署历史​

kubectl rollout history deployment/snooker-guide -n snooker-guide

查看资源使用​

kubectl top pods -n snooker-guide

成本说明​

自动部署本身完全免费:

  • GitHub Actions:免费额度充足(2000 分钟/月)
  • GitHub Container Registry:免费(公开镜像)
  • Claw Cloud:仅按实际资源使用计费(约 ¥3.6/月)

安全建议​

  1. 定期更新 Kubeconfig:建议每月更新一次
  2. 限制 Secret 权限:仅添加必要的 Secret
  3. 审查 workflow 日志:定期检查部署日志
  4. 启用分支保护:保护 master 分支,要求 PR review

参考资源​