使用 GitHub Actions 部署 Hexo 博客
本文介绍如何使用 GitHub Actions 实现自动部署 Hexo 博客,具体方案为:使用两个仓库,一个私有仓库存放 Hexo 博客的源程序,一个公开仓库存放生成的静态网站。当我们向私有仓库 push 时,GitHub Actions 自动生成静态页面并推送到公开仓库,实现博客的自动化部署。
下文中都假设你已下载安装了 Hexo 所必需的组件并且已经在本地初始化了 Hexo 博客。
首先,你需要有一个私有仓库 hexo-src
(名称随意)和一个公开仓库 <username>.github.io
。
检查 Hexo 博客根目录下的 package.json
文件,确保其中有以下内容,如没有则自行添加,新安装的应该默认是有的。
{ |
在私有仓库中添加 .github/workflow/pages.yml
文件,内容如下:
name: Github Page # 名字随意 |
由于是部署目标是另一个仓库,因此需要设置 ${{ secrets.PERSONAL_TOKEN }}
并指定所要推送到的仓库 external_repository
以及其默认分支。 生成一个 personal token(scopes 选择 repo 即可),然后将其添加到私有仓库的 Secrets 里面(点击上方 Settings,然后点击 Secrets),名字为 PERSONAL_TOKEN
,这样执行 Action 时就会自动去读取这个 token。
然后就完成了,直接把私有仓库 push 一下,Actions 会自动添加并执行,最多一分钟左右静态页面就会生成在公开仓库里。
当然也可以部署到同一个仓库里,只是缺点是你的仓库源文件也需要公开,万一不注意在配置文件里写了什么密码密钥的就不太好,部署到同一个仓库的方法见下方参考链接中的官方文档,大致步骤相似。
参考
使用 GitHub Actions 部署 Hexo 博客
https://www.nuke666.cn/2021/03/deploy-hexo-using-github-actions/