通过 GithubActions 实现自动化部署 Hexo

一、在自己电脑上新建一个文件夹,打开 git bash here,输入以下命令

# 生成秘钥
ssh-keygen -f github-deploy-key

之后会生成两个文件,

一个私钥文件为:github-deploy-key;

另一个公钥文件为:github-deploy-key.pub 

1、在 Hexo 工作目录 Github 源码仓库中指定私钥

步骤:依次打开自己存放博客源码的仓库,点击Settings->展开Secrets and variables->点击Actions->点击New repository secret;填写名称与粘贴私钥。

2、在 Hexo 站点目录 Github pages主页仓库中指定公钥

步骤:依次打开自己存放博客pages主页的仓库,点击Settings->Deploy keys->Add deploy key

Title处设置个名称,key处粘贴公钥。

注意事项:一定要勾选(Allow write access)允许写入后,再保存。

二、创建部署配置

1、在[自己博客根目录]新建.github文件夹,注意开头是有个.的。然后在.github 内新建 workflows 文件夹,再在 workflows 文件夹内新建 autodeploy.yml,在[自己博客根目录]/.github/workflows/autodeploy.yml 里面输入
name: 部署 Hexo 到 GithubPage
on:
  push:
    branches: [ "master" ]这里要更改为自己的源码仓库分支名称master或main
jobs:
  HexoDeploy:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18.x]这里要更改为自己电脑安装的node.js版本,在终端用node -v查找
    steps:
    - uses: actions/checkout@v3
    - name: 使用 Node.js ${
  { matrix.node-version }} 环境
      uses: actions/setup-node@v3
      with:
        node-version: ${
  { matrix.node-version }}
    - name: 配置 SSH 环境和 Git 环境
      env:
        ACTION_DEPLOY_KEY: ${
  { secrets.这里要接合前面的内容更改为自己源码仓库填写私钥时,所取的名称 }}
      run: |
        mkdir -p ~/.ssh/
        echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsa
        chmod 700 ~/.ssh
        chmod 600 ~/.ssh/id_rsa
        ssh-keyscan github.com >> ~/.ssh/known_hosts
        git config --global user.email "这里要填写自己github注册时所用的邮箱"
        git config --global user.name "这里要填写自己gitub的用户名"
    - name: 配置 Hexo 环境
      run: |
        export TZ='Asia/Shanghai'
        npm install hexo-cli -g
    - name: 下载 Npm 依赖
      run: |
        npm install
    - name: 部署博客
      run: |
        hexo d

初次提交:

git init #初始化
git remote add origin 这里接着填写自己github的SSH地址
git checkout -b main #main是项目分支名

--------------------------------------

非初次提交:


git add .
git commit -m "github action update"
git push origin main
 

相关推荐

  1. 通过 GithubActions 实现自动化部署 Hexo

    2024-02-21 09:04:01       42 阅读
  2. Jekins实现自动化部署

    2024-02-21 09:04:01       66 阅读
  3. 通过Jenkins自动化部署net core 项目

    2024-02-21 09:04:01       44 阅读
  4. 使用Docker 部署jenkins 实现自动化部署

    2024-02-21 09:04:01       36 阅读
  5. 通过API接口实现自动化数据同步

    2024-02-21 09:04:01       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 09:04:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 09:04:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 09:04:01       82 阅读
  4. Python语言-面向对象

    2024-02-21 09:04:01       91 阅读

热门阅读

  1. 【Spring Boot 使用Filter统一处理请求数据转换】

    2024-02-21 09:04:01       52 阅读
  2. React 19即将发布,新增4个Hook函数

    2024-02-21 09:04:01       43 阅读
  3. HTTP 状态消息

    2024-02-21 09:04:01       48 阅读
  4. Nginx返回502错误提示问题原因常用解决方法

    2024-02-21 09:04:01       47 阅读
  5. 3.普通函数与函数模板的调用规则

    2024-02-21 09:04:01       51 阅读
  6. c语言游戏实战(9):球球大作战

    2024-02-21 09:04:01       52 阅读
  7. open3d 0.17.0的open3d.visualization.ViewControl类有bug

    2024-02-21 09:04:01       43 阅读
  8. 为BUG编程:成员变量用指针char const *导致的BUG

    2024-02-21 09:04:01       49 阅读