由于Travis CI开始收费,现在转为使用Github Actions来自动化部署Github Page,目前Github Actions对于Public仓库是免费的。Github Actions的官方文档可看:Github Actions Docs。
生成Github "Personal access tokens"
用于在hexo部署时向Github仓库推送消息。
跳转到Github以下页面:
Profile > Settings > Developer Settings > Personal access tokens
点击Generate new token创建一个token,可以把Expiration调整为No expiration,对于scopes根据实际需要来调整。
生成token之后把它拷贝记录下来,因为它只会显示一次。
添加仓库Action secret
这是为了能在Action执行时以安全的方式获取先前生成的Personal access token。
跳转到Github仓库以下页面:
Settings > Secrets > Actions
点击New repository secret创建一个secret
名字使用PAGE_PUBLISH_TOKEN,值使用上一步生成的Personal access token。
安装hexo deployer git依赖
1 | npm install hexo-deployer-git --save |
修改hexo配置
1 | # file: _config.yml |
创建workflow
在仓库以下路径
./.github/workflows/
存放所有的workflow,每一个workflow独立一个yml文件。
在这里创建一个publish-github-page.yml文件,内容如下:
1 | name: Publish Github Page |
说明
runs-on指示deployment这个job运行的环境,这里是ubuntu-20.04,注意最好别用ubuntu-latest这样带latest的环境,可能会在启动环境时非常的慢。
steps是一个数组,存放所有的动作,每个元素可以用name来自定义名字。
其中uses可以指示从某处执行一系列的actions,可以通过with携带一系列参数。例如:
1 | uses: actions/checkout@v2 |
这里的actions/checkout指的是https://github.com/actions/checkout仓库,@v2指的是仓库中v2这个tag,这个action的作用是把仓库(这里指的就是Github page的仓库)checkout到工作空间中。
