使用GitHub Actions自动部署hugo静态网站
从了解开始使用Hugo开发个人网站以来,一直都是利用TravisCI自动构建并部署到GitHub Pages的服务上面。TravisCI终于迎来关闭的一天,正好趁此机会用 GitHub Actions 来替换 Travis CI。
1 创建代码仓库
首先按照文档创建 GitHub Pages 站点。该仓库可见性必须是 Public 另外创建一个仓库用来存放 Hugo 的源文件,名称随意,这里假设仓库名叫 pages-hugo-source。建议将仓库可见性设置成 Private 以保护好你的源代码。 创建完毕后你的账户下将存在以下两个代码仓库:
- https://github.com/<YourName>/<YourName>.github.io (公开的)
- https://github.com/<YourName>/pages-hugo-source (私有的)
2 创建 Workflow 配置
在 pages-hugo-source 仓库下新建 .github/workflows/hugo.yml 文件。内容如下:
|
|
该配置用到了两个第三方 Actions,分别是 Hugo setup 和 GitHub Pages action。前者用于安装 Hugo,后者用于部署静态站点。
3 设置 SSH Key
GitHub Pages Actions 支持三种身份验证方式:
- deploy_key
- github_token
- personal_token
执行命令创建 SSH Key:
|
|
如果在 Windows 系统下运行该命令,要将命令中的 $(git config user.email) 替换成你的邮箱地址。
访问如下地址设置 Public key:
https://github.com/<YourName>/<YourName>.github.io/settings/keys/new
表单中的 Title 随意填写,将刚才生成的 gh-pages.pub 文件内容填入 Key 中,勾选 Allow write access,点击 Add key 按钮保存。
访问如下地址设置 Private key:
https://github.com/<YourName>/pages-hugo-source/settings/secrets/actions/new 表单中的 Name 填入 DEPLOY_TOKEN,将刚才生成的 gh-pages 文件内容填入 Value 中,点击 Add secret 按钮保存。
4 执行 GitHub Actions
将 pages-hugo-source 仓库的代码提交并推送到 GitHub,会自动触发 GitHub Actions 执行。
可以访问如下网址来查看 Workflows 的执行状态:
https://github.com/<YourName>/pages-hugo-source/actions
等待 workflow 执行完毕,静态站点就算是发布成功了。
理财投资 | 热门游戏 | 热门汽车用品 | 创意家居收纳 | 满满生产力 | 好书好心情 | 音乐创作达人 | 爱上烘培