Hexo 自动部署

对于静态博客来说,Hexo是一款很受欢迎的博客生成器。其拥有数百的主题和插件,方便我们部署和自定义博客内容。然而,很多生成器都有一个跟明显的缺点,当网站的文章越来越多时,生成所需要的时间也越来越久。如果电脑效能差的话,部署时间则会更加的久。

为了解决这个问题,采用自动化部署是一个绝佳的选择。现如今提供自动化部署的平台越来越多。像Travis CI,Github Actions。我们只需要把Hexo的目录推送到GitHub去,相关平台监测到对应的Repositories发佈变化,就会自动去执行编译,并把编译好的内容发布到博客Repositories去。

获取Coding Token

项目设置 --> 开发者选项 --> 项目令牌
Hexo 自动部署插图
权限要给全

获取Github Token

Personal settings --> Developer settings --> Personal access tokens
Hexo 自动部署插图(1)
权限给repo,public repo,token要存好,不然没了只能重新获取

创建Actions

建立一个私有仓库,上传Hexo源代码
在Hexo目录的仓库,点击Actions
Hexo 自动部署插图(2)
然后点击Set up a workflow yourself
Hexo 自动部署插图(3)
输入以下代码

name: 自动部署 Hexo

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [10.x]

    steps:
      - name: 开始运行
        uses: actions/checkout@v1

      - name: 设置 Node.js {{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version:{{ matrix.node-version }}

      - name: 安装 Hexo CI
        run: |
          export TZ='Asia/Shanghai'
          npm install hexo-cli -g

      - name: 缓存
        uses: actions/cache@v1
        id: cache-dependencies
        with:
          path: node_modules
          key: {{runner.OS}}-{{hashFiles('**/package-lock.json')}}

      - name: 安装插件
        if: steps.cache-dependencies.outputs.cache-hit != 'true'
        run: |
          npm install

      - name: 部署博客
        run: |
          hexo clean && hexo g && hexo douban && gulp
          cd ./public
          git init
          git config user.name "{{secrets.GIT_NAME}}"
          git config user.email "{{secrets.GIT_EMAIL}}"
          git add .
          git commit -m "Update"
          git push --force --quiet "https://{{secrets.GH_TOKEN}}@{{secrets.GH_REF}}" master:master
          git push --force --quiet "https://{{secrets.CD_TOKEN}}@{{secrets.CD_REF}}" master:master

点击Start commit
Hexo 自动部署插图(4)

设置Secrets

为了保护重要的资料,需要把这些资料设置到Secrets里,然后通过$引用。
在Settings --> Secrets
Hexo 自动部署插图(5)
这里需要设置6个Secrets

名称 内容
CD_REF 你要提交到Coding的仓库地址
CD_TOKEN Coding的token,格式为 用户名:密匙
GH_REF 你要提交到Github的仓库地址
GH_TOKEN Github的token
GIT_EMAIL 你Git的邮箱
GIT_NAME 你Git的名字

运行

随便修改一个东西,比如提交一篇文章,就可以看到变化了

鸣谢

1.通过travis-ci或者GitHub Actions自动化部署GitHub Pages和Coding Pages
2.Github Actions 自动部署 Hexo 脚本

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:啊不都 » Hexo 自动部署

avatar
本站站长,一个苦逼的学生党

评论 2

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1
    avatar

    之前的博客就是hexo的|´・ω・)ノ

    admin5个月前 (06-02)来自美国的网友Reply
  2. #2
    avatar

    laizq5个月前 (06-03)国内网友Reply
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活