使用Termux加GitHub Action自动化部署Hexo

相信大家都想拥有一个自己的博客(maybe
接下来就演示如何使用如何使用Termux加上GitHub Action自动部署Hexo

1. 安装Termux

1apt update
2apt upgrade
1apt install nodejs-lts git vim openssh
1npm install hexo-cli -g
2hexo init blog  #blog可以替换为你喜欢的
3cd blog
4hexo g  #生成静态页面
5hexo s  #启动本地服务

输入终端中给出的地址,复制到浏览器就可以打开了

2. 设置git并推送到GitHub

1git init
1git config --global user.name "你的用户名"
2git config --global user.email "你的电子邮箱"

最后都有双引号,用户名和邮箱最好和GitHub账号一致,方便后续提交

1ssh-keygen -t rsa -C "你的电子邮箱"

同样和GitHub账号邮箱一致
一路回车即可
进入ssh目录查看公钥,以".pub"结尾

1cd
2cd .shh
3cat id_rsa.pub

复制全部内容,不要多复制任何内容
打开GitHub设置,点击"SSH and GPG keys",再点击"New SSH key",随便输入一个名字,粘贴密钥,点按"Add SSH key"完成添加

3. 设置GitHub Action

 1name: Blog CI/CD # 脚本 workflow 名称
 2on:
 3  push:
 4    branches: [main, master] # 当监测 main,master 的 push
 5    paths: # 监测所有 source 目录下的文件变动,所有 yml,json 后缀文件的变动。
 6      - '*.json'
 7      - '**.yml'
 8      - '**/source/**'
 9jobs:
10  blog: # 任务名称
11    timeout-minutes: 30 # 设置 30 分钟超时
12    runs-on: ubuntu-latest # 指定最新 ubuntu 系统
13    steps:
14      - uses: actions/checkout@v2 # 拉取仓库代码
15      - uses: actions/setup-node@v2 # 设置 node.js 环境
16      - name: Cache node_modules # 缓存 node_modules,提高编译速度,毕竟每月只有 2000 分钟。
17        uses: actions/cache@v2
18        env:
19          cache-name: cache-node-modules
20        with:
21          path: ~/.npm
22          key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
23          restore-keys: |
24            ${{ runner.os }}-build-${{ env.cache-name }}-
25            ${{ runner.os }}-build-
26            ${{ runner.os }}-
27      - name: Init Node.js # 安装源代码所需插件
28        run: |
29          npm install
30          echo "init node successful"
31      - name: Install Hexo-cli # 安装 Hexo
32        run: |
33          npm install -g hexo-cli --save
34          echo "install hexo successful"
35      - name: Build Blog # 编译创建静态博客文件
36        run: |
37          hexo clean
38          hexo g
39          echo "build blog successful"
40      - name: Deploy Blog # 设置 git 信息并推送静态博客文件
41        run: |
42          git config --global user.name "你的用户名"
43          git config --global user.email "你的邮箱"
44          hexo deploy
45      - run: echo "Deploy Successful!"

本代码来自【Hexo自动部署】优雅的使用 Github Actions 进行 Hexo 静态博客的持续集成 …其余的不啰嗦了,问题可以去看看这个

4. 配置静态页面

1deploy:
2  - type: git
3    repository:
4      github: https://{$GH_TOKEN}@github.com/xanz1001/xanz1001.github.io.git
5      ...
6// 注意此处的 {$GH_TOKEN} 请替换成我们之前生成的 token 内容,此仓库地址是我们博客静态文件最终存放的仓库地址,即搭建教学中开通 Github Pages 服务的那个仓库地址。