SuperAPI AI 工具集

gh-pages-deploy

前端与建站

查看项目

更新于 10-15 12:56

技能介绍

用途

gh-pages-deploy 用于将静态前端网站部署到 GitHub Pages,整个过程通过 GitHub CLI(gh)完成。当用户想要发布、分享或让任何 HTML/CSS/JS 前端内容可被访问时,可以使用该技能。

前置条件

  • 已安装并完成认证的 GitHub CLI(gh)
  • 已安装 Git
  • 一个准备部署的前端项目(HTML、CSS、JS)

主要能力与部署流程

  1. 初始化 Git 仓库(如需要):

    git init
    git add .
    git commit -m "Initial commit"
    
  2. 创建 GitHub 仓库:

    # 创建公共仓库(免费 GitHub Pages 必需)
    gh repo create <repo-name> --public --source=. --push
    
  3. 启用 GitHub Pages:

    # 从 main 分支根目录启用 GitHub Pages
    gh api repos/{owner}/{repo}/pages -X POST -f build_type=legacy -f source='{"branch":"main","path":"/"}'
    

    或使用 docs 文件夹:

    gh api repos/{owner}/{repo}/pages -X POST -f build_type=legacy -f source='{"branch":"main","path":"/docs"}'
    
  4. 检查部署状态:

    # 获取 pages 信息
    gh api repos/{owner}/{repo}/pages
    
    # 查看部署状态
    gh api repos/{owner}/{repo}/pages/builds/latest
    
  5. 在仓库设置中设置主页 URL(始终执行此步骤,用于在 GitHub 仓库 About 面板中设置实时 URL):

    OWNER=$(gh api user --jq '.login')
    PAGES_URL=$(gh api repos/$OWNER/$REPO_NAME/pages --jq '.html_url')
    gh api --method PATCH repos/$OWNER/$REPO_NAME --field homepage="$PAGES_URL" --jq '.homepage'
    
  6. 获取站点 URL:站点将可通过 https://<username>.github.io/<repo-name>/ 访问。自动部署已激活:每次推送到 main 分支都会触发重建,legacy 构建无需 GitHub Actions。

使用方式:快速部署脚本

一次性完成完整部署:

# 变量
REPO_NAME="my-site"

# 初始化并提交
git init
git add .
git commit -m "Initial commit"

# 创建仓库并推送
gh repo create $REPO_NAME --public --source=. --push

# 启用 pages
sleep 2
OWNER=$(gh api user --jq '.login')
gh api repos/$OWNER/$REPO_NAME/pages -X POST -f build_type=legacy -f source='{"branch":"main","path":"/"}'

# 在仓库 About 面板中设置主页 URL
PAGES_URL="https://$OWNER.github.io/$REPO_NAME/"
gh api --method PATCH repos/$OWNER/$REPO_NAME --field homepage="$PAGES_URL" --jq '.homepage'

echo "✓ Site live at: $PAGES_URL"

更新站点

修改内容后执行:

git add .
git commit -m "Update site"
git push

GitHub Pages 将自动重建。

适用场景

  • 需要快速发布静态 HTML/CSS/JS 前端项目
  • 希望将项目分享为可公开访问的网址
  • 使用 GitHub 免费 Pages 托管个人或演示站点

限制与排查

  • Pages 未启用:确保仓库为公共仓库,或拥有 GitHub Pro
  • 404 错误:等待 1-2 分钟部署完成,检查根目录是否存在 index.html
  • 构建失败:检查 GitHub Actions 标签页中的错误信息

关于该技能的收费、价格、平台支持范围等更多信息,资料中暂未提供。