使用Termux加GitHub Action自动化部署Hexo
相信大家都想拥有一个自己的博客(maybe
接下来就演示如何使用如何使用Termux加上GitHub Action自动部署Hexo
1. 安装Termux
- 点击下载Termux
- 输入下面的命令初始化Termux
1apt update2apt upgrade- 安装nodejs,git,vim,openssh
1apt install nodejs-lts git vim openssh- 下载hexo并初始化
1npm install hexo-cli -g2hexo init blog #blog可以替换为你喜欢的3cd blog4hexo g #生成静态页面5hexo s #启动本地服务输入终端中给出的地址,复制到浏览器就可以打开了
2. 设置git并推送到GitHub
- 在blog目录内初始化git
1git init- 配置git推送信息
1git config --global user.name "你的用户名"2git config --global user.email "你的电子邮箱"最后都有双引号,用户名和邮箱最好和GitHub账号一致,方便后续提交
- 配置openssh
1ssh-keygen -t rsa -C "你的电子邮箱"同样和GitHub账号邮箱一致
一路回车即可
进入ssh目录查看公钥,以”.pub”结尾
1cd2cd .shh3cat 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文件并配置以下文件
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@v218 env:19 cache-name: cache-node-modules20 with:21 path: ~/.npm22 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 install30 echo "init node successful"31 - name: Install Hexo-cli # 安装 Hexo32 run: |33 npm install -g hexo-cli --save34 echo "install hexo successful"35 - name: Build Blog # 编译创建静态博客文件36 run: |37 hexo clean38 hexo g39 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 deploy45 - 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修改成下面的样子
1deploy:2 - type: git3 repository:4 github: https://{$GH_TOKEN}@github.com/xanz1001/xanz1001.github.io.git5 ...6// 注意此处的 {$GH_TOKEN} 请替换成我们之前生成的 token 内容,此仓库地址是我们博客静态文件最终存放的仓库地址,即搭建教学中开通 Github Pages 服务的那个仓库地址。- 把Hexo目录再次推送到GitHub就完成了
如果你觉得还不错的话,可以赞赏一下