SuperAPI AI 工具集

tutorial-writer-github-pages

前端与建站

查看项目

更新于 10-15 23:43

技能介绍

用途:本技能只负责把 web 包的构建产物部署到 GitHub Pages,覆盖 GitHub Pages 专用配置、GitHub Actions 工作流、base 路径与 trailingSlash 配置、自定义域名/DNS/SSL、CI/CD 流水线、部署监控与回滚。网站构建归 /web,PDF/EPUB 生成归 /book,内容管理归 /content,均不在本技能职责内。

主要能力与用法:前置条件是 /web 阶段已完成,bun run --filter @repo/web build 成功,apps/web/dist/ 结构正确,本地 bun run dev 正常。部署流程为四步:先在 astro.config.mjs 中设置三个关键项——site 为完整站点 URL,base 为项目站点前缀(如 '/repo-name/',用户站点可不填或设为 '/'),trailingSlash 设为 'always' 以避免 GitHub Pages 404;再在 .github/workflows/deploy.yml 中创建工作流,方案 A 用 withastro/action@v3 最简,方案 B 用标准 actions/upload-pages-artifact@v3 与 actions/deploy-pages@v4 分构建、部署两个 job,更可控;然后在仓库 Settings → Pages 将 Source 选为 GitHub Actions(不要选 Deploy from a branch);最后做部署后验证,包括首页、导航、静态资源、搜索、暗色模式、移动端与 Lighthouse 评分。

进阶内容:支持多环境部署(Staging/Production,注意 GitHub 免费版仅支持 1 个 Pages 环境)、PR 预览部署、Slack 等部署通知、基于健康检查的自动回滚、自定义域名(Settings 或 public/CNAME 文件,Apex 用 A 记录指向 GitHub Pages IP,子域名用 CNAME,启用 Enforce HTTPS)、Uptime 监控与 Core Web Vitals、Sentry 错误追踪。

限制与注意:忘记 base 会导致 CSS/JS/图片 404;未设 trailingSlash: 'always' 会使内部链接 404;输出到 docs/ 并手动部署时需创建 .nojekyll,否则 Jekyll 会忽略 _astro/ 目录;大型站点可能构建 OOM,可设 NODE_OPTIONS=--max-old-space-size=4096。除上述内容外,价格、效果等事实资料未提供。