文章目录
- peaceiris/actions-gh-pages:把静态网站部署到 GitHub Pages,一行配置搞定
- 1、 解决什么问题
- 2、 三种认证方式
- 3、 能配置什么
- 4、 适合谁用
peaceiris/actions-gh-pages:把静态网站部署到 GitHub Pages,一行配置搞定
这个项目在 GitHub 上拿到了 5.3K Star。
GitHub Actions 生态里有一个专门部署 GitHub Pages 的 action,叫 actions-gh-pages。作者是 peaceiris,一个日本开发者,还拿过 GitHub Action Hero 的称号。
1、 解决什么问题
用静态站点生成器(Hugo、Next.js、MkDocs、Gatsby 等)做完网站后,需要把构建产物部署到 GitHub Pages。自己写部署流程要处理分支切换、token 权限、历史记录管理等一系列问题。
这个 action 把这些打包成一步:指定构建产物目录,剩下的它全管。
2、 三种认证方式
支持 github_token、deploy_key、personal_token 三种方式。对于大部分用户,直接用 github_token 就行——runner 自动生成,不需要额外配置密钥。
-name:Deployuses:peaceiris/actions-gh-pages@v4with:github_token:${{secrets.GITHUB_TOKEN}}publish_dir:./public如果是第一次部署,用 github_token 需要在仓库设置里手动选一次 gh-pages 分支。之后就不会有这个问题。
3、 能配置什么
覆盖了部署场景的大部分需求:自定义发布分支和目录、指定 CNAME、部署到外部仓库、强制 orphan 模式只保留最新提交、设置提交者和提交信息、保留已有文件。
比较实用的一个场景:把源代码放在私有仓库,构建产物部署到公共仓库的 GitHub Pages 上。通过 external_repository 参数就能实现。
4、 适合谁用
- 在用 Hugo、MkDocs、Gatsby 这类 SSG 搭建博客或文档站的人
- 项目托管在 GitHub,需要自动化 CI/CD 发布静态页面的开发者
- 想把源码存私有仓库、但页面放在公开域名上的团队
/CD 发布静态页面的开发者
- 想把源码存私有仓库、但页面放在公开域名上的团队