Skip to content

GitHub Pages 部署

文档站通过 GitHub Actions 自动构建并部署到 GitHub Pages,每次推送 main 即更新线上

GitHub ActionsGitHub Pagesdeploy-website.ymlpush 即部署

全流程

flowchart LR P["push 到 main
(website/** 变更)"] --> CI[".github/workflows/
deploy-website.yml"] CI --> CO["actions/checkout"] CO --> NP["setup-node@v4
Node 22"] NP --> NI["npm ci
(用 lockfile)"] NI --> B["npm run build
(vitepress build)"] B --> UP["actions/upload-pages-artifact
打包 dist/"] UP --> D["actions/deploy-pages"] D --> PAGES["GitHub Pages 上线
cyberspacesec.github.io/crt.sh-skills/"]

前置一次性配置

必须做这一步,否则 workflow 报 "Get Pages site failed"

仓库 Settings → Pages → SourceGitHub Actions(不是 branch)。之后由 workflow deploy-website.yml 接管部署。

也可用 CLI 一步开通:

用 gh 开通 Pages(workflow 模式)
$ gh api --method POST repos/cyberspacesec/crt.sh-skills/pages -f build_type=workflow
✓ Pages site created with build_type=workflow

workflow 关键点

环节配置
触发pushmain(路径 website/**),或手动 workflow_dispatch
运行时Node 22
装依赖npm ci(严格按 lockfile)
构建npm run build
部署actions/deploy-pages
权限pages: write + id-token: write
并发cancel-in-progress 避免重复部署

自定义域名(可选)

本地验证部署一致性

bash
cd website && npm run build && npm run preview

本地预览所见即线上所得——构建不出错,线上就不会出错。