GitHub Coding Pages 自动部署 Hexo

本文介绍了如何利用GithubAction和Coding实现Hexo博客的自动化部署。首先在Github创建仓库并配置SSH密钥,然后在仓库中设置自动部署的GithubAction。接着在Coding中创建令牌,并在Hexo配置中更新部署地址,从而实现双线部署。通过这种方法,可以简化博客发布流程,提高效率。
摘要由CSDN通过智能技术生成

背景

在玩 Hexo 博客的时候,每次提交写文章,发文章都要在本地先写完,在编译在发布。步骤可谓是极其繁琐,要没个耐心怕早早就弃坑了。幸好 Github 有一个能实现自动化的功能—— Github Action 。于是乎就有了下文—>

实现

Github 实现

基本准备

  1. 在 Github 上创建一个仓库,仓库命名随便(你找得到就行)。因为 Github 被微软收购的原因,个人用户现在也能建立私有仓库了,所以_–>。这个仓库是用来放你 Hexo 博客源码的
  2. 在本地用 ssh-keygen 命令生成一组公私秘钥。
  3. 进入源码仓库–>Settings–>Secrets里添加生成的私钥,名称为 ACTION_DEPLOY_KEY ;添加名称为 GIT_EMAIL 内容为你的 git 邮箱 ;添加 GIT_NAME 内容为你的 git 用户名。(跟下面代码要一致)
  4. 进入博客仓库–>Settings–>Deploy keys里添加生成的公钥,名称自己随便写,我用的是(ACTION_DEPLOY_KEY )

正式开始

  1. 如图所示[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rw9H1vtB-1638444776099)(//cdn.jsdelivr.net/gh/Qj9901/CDN@0.0.3/blog/img/Github_action/Github-action.jpg)]
  2. 配置 Github Actions ,代码如下
name: 自动部署 Hexo

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [12.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: 设置环境
        env:
          ACTION_DEPLOY_KEY: ${{ secrets.ACTION_DEPLOY_KEY }}
          TZ: Asia/Shanghai
        run: |
          # set up private key for deploy
          mkdir -p ~/.ssh/
          echo "$ACTION_DEPLOY_KEY" | tr -d '\r' > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan github.com >> ~/.ssh/known_hosts
          # set git infomation
          git config --global user.name '${{secrets.GIT_NAME}}'
          git config --global user.email '${{secrets.GIT_EMAIL}}'
      
      - 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 d

至此 Github 完成

Coding 实现

有了前面 Github 的实现,Coding 就简单了。

基本准备

  1. 按图所示,创建令牌 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-khZ5xM1d-1638444776101)(//cdn.jsdelivr.net/gh/Qj9901/CDN@0.0.3/blog/img/Github_action/coding.jpg)]
  2. 创建完后会有一个私人密钥,只出现一次,记得保存。
  3. 令牌创建完后就可以通过 https://令牌用户名:令牌密钥@你的仓库地址 来控制你的仓库了

正式开始

  1. 进入你的 Hexo 博客根配置文件中,将 Coding 的 deploy 换成 https://令牌用户名:令牌密钥@你的仓库地址
  2. 将你的 Hexo push到 GitHub 就实现双线部署了。

Ps:代码是从别处找到的,具体忘记在哪了。。。
写于 2020-03-16

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值