前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hexo博客下 Github Action 和 Qexo 搭建

Hexo博客下 Github Action 和 Qexo 搭建

原创
作者头像
Wlog
发布2023-01-30 17:23:56
6440
发布2023-01-30 17:23:56
举报
文章被收录于专栏:WlogWlog

Hexo博客下 Github Action 和 Qexo 搭建

准备

一个Vercel, Github账号

一个Mongodb数据库

可选: Mongodb账号(以便申请免费Mongodb数据库)

Github Action 搭建

在你的仓库(源码仓库!并不是Build后的)下新建.github/workflows/main.yml(main可以改 不是分支名字)

填写

代码语言:yaml
复制
name: 自动部署
# 当有改动推送到master分支时,启动Action
on:
  push:
    branches:
      - main
      #2020年10月后github新建仓库默认分支改为main,注意更改
  release:
    types:
      - published

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - name: 检查分支
      uses: actions/checkout@v2
      with:
        ref: main

    - name: 安装 Node
      uses: actions/setup-node@v1
      with:
        node-version: "14.x" #16.x也可以

    - name: 安装 Hexo
      run: |
        export TZ='Asia/Shanghai'
        npm install hexo-cli -g
    - name: 缓存 Hexo
      uses: actions/cache@v1
      id: cache
      with:
        path: node_modules
        key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}

    - name: 安装依赖
      if: steps.cache.outputs.cache-hit != 'true'
      run: |
        npm install gulp-cli -g #全局安装gulp 如果你的博客不需要他 可以不装 节省时间
        npm install
    - name: 生成静态文件
      run: |
        hexo clean 
        hexo bangumi -u #bilibili番剧更新 如果你的博客不需要他 请删除这一行
        hexo generate
        gulp # 如果你的博客不需要他 请删除这一行
  
    - name: 部署
      run: |
        git config --global user.email "i@w03.cc"
        git config --global user.name "Wlogbot"
        git clone https://github.com/wmz1024/wmz1024.github.io.git .deploy_git
        # 此处务必用HTTPS链接。SSH链接可能有权限报错的隐患
        # =====注意.deploy_git前面有个空格=====
        # 这行指令的目的是clone博客静态文件仓库,防止Hexo推送时覆盖整个静态文件仓库,而是只推送有更改的文件
        hexo deploy
    - name: 发布npm包 # 不需要请删除这一部分
      if: env.NPM_TOKEN && env.NPM_NAME
      run: |
        cd public
        node index.js
        npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN
        npm publish
      env:
        NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        NPM_NAME: ${{ secrets.NPM_NAME }}

前提 请安装你的deploy的插件 也有一个不用hexo d的插件 但是我这里就不演示了

创建完点进Actions看看是否执行了一下 (没有执行确保你打开了workflow且分支名正确 出现spawn failed错误请前去 https://blog.zhheo.com/ 查找一下

搭建Qexo

在这里演示Vercel下环境部署搭建!

先申请Mongodb

如果你有自己的数据库可以用自己的

没有 进入 https://mongodb.com 注册一个 (是Free的!!!)

区域选择US-East-1 初始化过后点connect (允许所有IP访问)

Vercel部署

https://vercel.com/new/clone?repository-url=https://github.com/am-abudu/Qexo 点击链接部署

首次部署会报错

名称

意义

例如↓

MONGODB_HOST

数据库地址

mongodb+srv://cluster0.xxxx.mongodb.net

MONGODB_PORT

数据库端口

27017

MONGODB_USER

数据库用户名(你设置的)

abudu

MONGODB_DB

数据库名

Cluster0

MONGODB_PASS

数据库密码(你设置的)

password

把这些都添加进入环境变量

之后进入配置就可以了!

Q&A

Q: Project id是什么?

A: 进入Vercel你所在的仓库 Setting->Project id

Q: Github Token

A: Personal Access Tokens (Classic) (github.com) 就能申请

Q: Vercel Token

A: Tokens – Account – Dashboard – Vercel Scope选择Full Account

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hexo博客下 Github Action 和 Qexo 搭建
    • 准备
      • Github Action 搭建
        • 搭建Qexo
          • 先申请Mongodb
          • Vercel部署
        • Q&A
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档