跳过正文
  1. 文章/

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

·2 分钟
建站 Hexo
目录

在手机上使用Termux加GitHub Action实现自动化部署Hexo

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

1. 安装Termux
#

  • 点击下载Termux
  • 输入下面的命令初始化Termux
apt update
apt upgrade
  • 安装nodejs,git,vim,openssh
apt install nodejs-lts git vim openssh
  • 下载hexo并初始化
npm install hexo-cli -g
hexo init blog  #blog可以替换为你喜欢的
cd blog
hexo g  #生成静态页面
hexo s  #启动本地服务

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

2. 设置git并推送到GitHub
#

  • 在blog目录内初始化git
git init
  • 配置git推送信息
git config --global user.name "你的用户名"
git config --global user.email "你的电子邮箱"

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

  • 配置openssh
ssh-keygen -t rsa -C "你的电子邮箱"

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

cd
cd .shh
cat id_rsa.pub

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

  • 在blog目录使用git add .把文件添加到暂存区,再使用git commit -m "提交备注"来提交到本地仓库
  • (可选)使用了butterfly主题的,由于官方的命令把主题目录变成了子目录会报错,可以删除butterfly目录下的.git目录
  • 使用git remote add "仓库别名" "仓库ssh地址"来连接远程仓库
  • 使用git push -u "仓库别名" "分支"来推送到GitHub

3. 设置GitHub Action
#

  • 建议手动创建.github/workflows在workflows目录下创建pages.yml文件并配置以下文件
name: Blog CI/CD # 脚本 workflow 名称
on:
  push:
    branches: [main, master] # 当监测 main,master 的 push
    paths: # 监测所有 source 目录下的文件变动,所有 yml,json 后缀文件的变动。
      - '*.json'
      - '**.yml'
      - '**/source/**'
jobs:
  blog: # 任务名称
    timeout-minutes: 30 # 设置 30 分钟超时
    runs-on: ubuntu-latest # 指定最新 ubuntu 系统
    steps:
      - uses: actions/checkout@v2 # 拉取仓库代码
      - uses: actions/setup-node@v2 # 设置 node.js 环境
      - name: Cache node_modules # 缓存 node_modules,提高编译速度,毕竟每月只有 2000 分钟。
        uses: actions/cache@v2
        env:
          cache-name: cache-node-modules
        with:
          path: ~/.npm
          key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.os }}-build-${{ env.cache-name }}-
            ${{ runner.os }}-build-
            ${{ runner.os }}-
      - name: Init Node.js # 安装源代码所需插件
        run: |
          npm install
          echo "init node successful"
      - name: Install Hexo-cli # 安装 Hexo
        run: |
          npm install -g hexo-cli --save
          echo "install hexo successful"
      - name: Build Blog # 编译创建静态博客文件
        run: |
          hexo clean
          hexo g
          echo "build blog successful"
      - name: Deploy Blog # 设置 git 信息并推送静态博客文件
        run: |
          git config --global user.name "你的用户名"
          git config --global user.email "你的邮箱"
          hexo deploy
      - run: echo "Deploy Successful!"

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

4. 配置静态页面
#

  • 在GitHub上新建一个仓库,用来搭建GitHub Pages服务,仓库名为<你的github用户名>.github.io复制其https地址,在github.com前添加一个Personal access tokens@大概长这样https://{token}@github.com/xanz1001/blog.git
  • 修改config.yml在最后把deploy修改成下面的样子
deploy:
  - type: git
    repository:
      github: https://{$GH_TOKEN}@github.com/xanz1001/xanz1001.github.io.git
      ...
// 注意此处的 {$GH_TOKEN} 请替换成我们之前生成的 token 内容,此仓库地址是我们博客静态文件最终存放的仓库地址,即搭建教学中开通 Github Pages 服务的那个仓库地址。
  • 把Hexo目录再次推送到GitHub就完成了