一个 GitHub Action,可在工作流中把静态站点构建产物发布到 GitHub Pages 分支。
JamesIves/github-pages-deploy-action
基于 GitHub Actions 的部署动作,可自动将项目发布到 GitHub Pages,输出可推送到任意分支。
- Star
- 4,613
- Fork
- 447
- 未关闭 Issue
- 6
- 最近提交
- 5天前
这是什么?
GitHub Pages Deploy Action 是一个 GitHub Actions 步骤,可将工作流中的某个目录(如构建产物目录)发布到 GitHub Pages。目标分支可以自由指定,例如 gh-pages 或 docs,若分支不存在会自动创建。它也支持跨仓库部署,并兼容 GitHub Enterprise。
通过工作流文件中的 `with` 部分进行配置,唯一必填项是 `folder`,即要部署的目录。可选项包括目标分支、提交信息、git 提交者信息、自定义 token 或 SSH 部署密钥,以及是否清理部署分支中的旧文件。此外还支持 dry-run 模式、将历史压缩为单个提交,并通过 `deployment-status` 输出部署结果供后续步骤使用。
适用于静态网站以及其他可以由某个分支提供服务的构建产物项目。默认运行在 Ubuntu 上,需要仓库内容的写入权限。
核心功能
- 01可将任意目录部署到任意分支,包括 gh-pages 和 docs。
- 02支持通过个人访问令牌进行跨仓库部署。
- 03可使用默认 GITHUB_TOKEN、PAT 或 SSH 部署密钥进行认证。
- 04可清理部署分支中的过期文件,并保留指定的排除文件。
- 05提供 dry-run 模式、单提交历史和部署状态输出。
适用场景
- 每次推送后,将 React 或 Vue 等框架构建的静态网站发布到 GitHub Pages。
- 将构建工具生成的文档部署到 docs 分支。
- 将一个仓库的构建产物推送到另一个仓库的 Pages 站点。
- 通过产物在 Windows 构建任务与 Ubuntu 部署任务之间传递,完成部署。
快速上手
- 1
添加一个工作流文件,检出仓库、构建站点并使用该操作部署
- 2
将工作流权限设置为 contents: write,并将 folder 指向你的构建输出目录
- 3
在仓库设置中选择 Pages,然后选择从分支部署,并选择部署分支(通常为 gh-pages)
收录于专题
标签
常见问题
- github-pages-deploy-action 是什么?
- 基于 GitHub Actions 的部署动作,可自动将项目发布到 GitHub Pages,输出可推送到任意分支。 GitHub Pages Deploy Action 是一个 GitHub Actions 步骤,可将工作流中的某个目录(如构建产物目录)发布到 GitHub Pages。目标分支可以自由指定,例如 gh-pages 或 docs,若分支不存在会自动创建。它也支持跨仓库部署,并兼容 GitHub Enterprise。
- github-pages-deploy-action 可以免费使用吗?用的什么许可证?
- github-pages-deploy-action 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- github-pages-deploy-action 还在维护吗?
- 活跃维护中。github-pages-deploy-action 最近一次提交是在 2026年11月2日。
- github-pages-deploy-action 适合用来做什么?
- 每次推送后,将 React 或 Vue 等框架构建的静态网站发布到 GitHub Pages。 将构建工具生成的文档部署到 docs 分支。 将一个仓库的构建产物推送到另一个仓库的 Pages 站点。 通过产物在 Windows 构建任务与 Ubuntu 部署任务之间传递,完成部署。
- github-pages-deploy-action 怎么安装和运行?
- 添加一个工作流文件,检出仓库、构建站点并使用该操作部署 将工作流权限设置为 contents: write,并将 folder 指向你的构建输出目录 在仓库设置中选择 Pages,然后选择从分支部署,并选择部署分支(通常为 gh-pages)
- 在哪里获取 github-pages-deploy-action?
- 源代码和安装说明在 GitHub 上:https://github.com/JamesIves/github-pages-deploy-action
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Jenkins 是开源自动化服务器,用于构建、测试和部署软件,可通过两千多个插件扩展。
基于 Go 编写的自托管 CI/CD 与 DevOps 自动化平台,以流水线、任务和触发器串联工作流。
用于在 GitHub Actions 中创建 GitHub Release 并上传构建产物的 Action,支持 Linux、Windows 和 macOS。
面向 GitHub Actions runner 的 CI/CD 安全代理,监控出站网络、文件写入和进程行为,用于发现供应链攻击。
一个 GitHub Action,可在 CI/CD 工作流中通过 SSH 在远程服务器上执行命令。