使用Github Actions部署个人博客

文章目录

我的博客之前一直使用Hexo+Netlify CMS这套方案,而Netlify的域名不好记,需要自己购买域名绑定。但我在之前已经申请到了js.org的免费域名(现在不能以个人博客等理由申请),作为资深白嫖怪,那当然会使用这个免费域名。之前申请,域名的CNAME指向我的github.io二级域名,无法指向Netlify。所以,这篇文章便诞生了。

Netlify CMS的原理就是将你的文章放在一个新的分支,当你选择发布,你的新分支会和博客主分支合并。Netlify检测到你的博客主分支有变动,就会开始部署网页。

那么,只要有一个脚本能检测到你的博客主分支有变动,和Netlify一样部署网页,最后将生成的文件推送到github.io所在的仓库就行了。

Github Actions(这是什么?)服务就可以实现此功能。我们只需要编写好脚本,就能完成上述操作。


使用Github Actions

获取token

1.进入Settings

2.点击 Developer settings

3.点击 Personal access tokens

4.点击 Generate new token

5.Note一栏填写 PAT (别改此项,后面有用),Expiration选择 No Expiration ,Select scopes勾选 workflow ,点击 Generate token

6.复制token


编写Github Actions脚本

1.开启Github Actions(若已经开启可以跳过该步骤)

2.进入Github Actions

3.点击 set up a workflow yourself

4.编辑main.yml文件

删除文件中默认的内容

写入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
name: Deploy Blog Pages

on:
push:
branches:
- main

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: "12.3.0"

- name: Hexo Generate
run: |
npm i
npm run build

- name: Deploy
uses: JamesIves/github-pages-deploy-action@releases/v4
with:
token: ${{secrets.PAT}}
repository-name: //此处填写你需要推送的仓库地址
branch: main
folder: public

最后保存该文件


绑定token

1.进入仓库的Settings

2.点击 Secrets

3.点击 New repository secret

4.Name一栏填写 PAT ,Value一栏填写之前复制的token,点击 Add secret


至此,你可以使用Github Actions部署你的页面了

分享到: