利用HexoPlusPlus该项目归档,计划更换为Wexagonal,实现云后台,让博客摆脱本地
官方文档:https://wexa.top/start.html
集成部署
什么是集成部署?
看看平时,咱的hexo是什么样的工作流程吧
可以看到博客被分成了本地和云端两部分,
而集成部署则是将本地部分也搬至云端完成,让云端完成环境配置,生成静态文件等。而我们只需要修改markdown来编辑文章即可,HexoPlusPlus的作用就是帮助我们直接在网页端编辑markdown
如何实现集成部署?
方法多样,既可以靠heroku ,vercel这样的平台一键部署,也可以靠github action自动配置,本文介绍后者
step0.检查配置
本地先hexo d一遍,看能不能用。
再检查博客配置文件_config.yml是否使用ssh连接而非https,配置应该如下:
1 | deploy: |
step1.上传hexo源码
创建一个github仓库,用来存放源码,再创一个,用来存放生成的静态文件。使用git上传源码,注意检查是否遗漏文件(比如有没有什么被gitignore掉的主题配置文件啊)
- 如有文件未被上传,可能该路径下也是一个git仓库(比如主题目录),删去
.git文件夹(该文件夹默认隐藏)即可 - 也可能是被
.gitignore文件排除了
step2.配置github action
生成密钥ssh-keygen -f github-deploy-key
在放置源码的仓库的Settings -> Secrets内配置私钥,名称HEXO_DEPLOY_KEY
在放置静态文件的仓库的Settings -> Deploy keys内配置公钥,名称随意,如HEXO_DEPLOY_PUB,记得给读写权限
在放置源码的仓库新建文件.github/workflows/deploy.yml
如下配置:
1 | name: Hexo Deploy |
保存后会自动进行一次action,可以查看是否出现问题,
如果成功,应该会将生成的静态文件上传至博客配置文件_config.yml内写的地址,
此时我们已经将本地成功搬至云端,实现了集成部署
配置hexo++
官方文档已经写的很清楚了,本文只做一些补充
官方文档地址:https://hexoplusplus.js.org/start/官方FAQ地址:https://hexoplusplus.js.org/faq/Github文档仓库 指的是存放hexo源代码的仓库Github图片仓库 可以不配置文件统计显示undefined 除了官方的解决方法,还可以去书写 -> 徒手清索引,多试几次
其他
源码仓库可以设为私有,也可以与静态文件同仓库而不同分支,但如果使用cloudflare page来渲染页面,建议还是分仓库,因为任何分支出现更改,它都会尝试渲染一遍,这样当有文章更改时,你会等待两次渲染才能看到效果(第一次傻里傻气地渲染源码文件,第二次才会渲染静态文件,一次构建要等4分钟,两次就要8分钟,谁等得起啊) 现在又贼鸡儿快了。
有问题可以来评论区,但笔者没时间回答