使用GitHub Actions部署Hexo
    
    
    
        
            Created At : 
        
    
    
        
        Count:638
        
        
        
            post.views :
                
            
        
        
        
    
    
    
    
    
      
        前言
一直都在用Hexo写记录,但是每次都需要将记录源码拉到本地,然后安装Node.js、Git等环境,之后再写记录就忘了要写什么内容了;
所以这次折腾一下使用GitHub Actions来自动构建和部署Hexo内容。
准备
需要准备两个Git仓库,一个是记录源码仓库,一个是静态页面仓库;参考:使用GitHub Pages托管记录;
记录源码仓库为:blog,可以为私有的,保护一下私有文件;
静态页面仓库为:xxx.github.io,必须为公开的,存放Hexo生成的静态页面;
开始
生成密钥
bash命令创建一个新的SSH密钥:
1
   | $ ssh-keygen -f hexo-deploy-key
   | 
 
会在当前文件夹下生成两个文件:hexo-deploy-key hexo-deploy-key.pub
登录GitHub网站,找到记录源码仓库;添加新的Secrets,在:Settings -> Secrets -> Add a new secret:
1 2
   | Name填写:HEXO_DEPLOY_SECRET,下边会用到; Value填写:hexo-deploy-key文件中的全部内容;
   | 
 
找到静态页面仓库;添加新的Deploy key,在:Settings -> Deploy keys -> Add new:
1 2 3 4 5
   | Title随便填写; Value填写:hexo-deploy-key.pub文件中的全部内容; 勾选“Allow Write Access”; 创建GitHub Actions 在记录源码仓库根目录下,创建.github/workflows/hexo_deploy.yml文件;此文件为GitHub Actions所使用的文件;
   | 
 
hexo_deploy.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 33 34 35 36 37
   | name: HEXO_DEPLOY on: push: branches:
  - master   jobs:   build:   runs-on: ubuntu-latest
  steps:
  - name: Checkout source   uses: actions/checkout@v1   with:   ref: master - name: Use Node.js ${{ matrix.node_version }}   uses: actions/setup-node@v1   with:   version: ${{ matrix.node_version }} - name: Setup hexo   env:   ACTION_DEPLOY_KEY: ${{ secrets.HEXO_DEPLOY_SECRET }}   run: |   mkdir -p ~/.ssh/   echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsa   chmod 600 ~/.ssh/id_rsa   ssh-keyscan github.com >> ~/.ssh/known_hosts   git config --global user.email "george674834080@gmail.com"   git config --global user.name "im_wower"   npm install hexo-cli -g   npm install - name: Hexo deploy   run: |   hexo clean   hexo d
 
   | 
 
- name随便写;
 
- branches为记录源码仓库的分支,即:提交代码到此分支后,会自动触发部署;这里使用的是master分支;
 
修改记录源码仓库根目录的_config.yml文件,修改deploy节点为使用SSH的方式:
1 2 3 4
   | deploy: type: git repo: git@github.com:yunlongwen/yunlongwen.github.io.git branch: master
   | 
 
提交代码
本地或使用GitHub网页版,修改记录源码仓库的文件,并提交到master分支;
1 2 3 4 5
   | cd imwower-blog/source/_posts touch xxx.md git add . git commit -m "add new post" git push origin
   | 
 
提交代码后,会自动触发部署;登录GitHub查看部署状态:
查看记录:
github.100kwhy.cn
参考链接
利用 Github Actions 自动部署 Hexo 记录
GitHub Actions 自动部署 Hexo
      
       
 转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 350394277@qq.com 
     
    Title:使用GitHub Actions部署Hexo
    Count:638
    Author:Yunlong Wen
    Created At:2025-09-07, 13:07:16
    Updated At:2025-09-07, 13:07:16