Hexo博客下 Github Action 和 Qexo 搭建
准备
一个Vercel, Github账号
一个Mongodb数据库
可选: Mongodb账号(以便申请免费Mongodb数据库)
Github Action 搭建
在你的仓库下新建.github/workflows/main.yml
(main可以改 不是分支名字)
填写
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| name: 自动部署
on: push: branches: - 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"
- 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