将Hexo部署到Cloudflare Pages
将Hexo部署到Cloudflare Pages
翱翔大使部署准备
- 新建一个私人仓库,将
Hexo项目根目录
除.gitignore
中忽略的文件(夹),其他所有源文件推送上去。
这是我的.gitignore
文件:
1 | # Created by https://www.toptal.com/developers/gitignore/api/hexo |
- 拥有一个 Cloudflare 账号,我就不过多赘述如何注册了。
开始部署
从
Cloudflare
仪表盘中打开Compute (Workers)
->Wokers 和 Pages
。创建
Pages
,连接你的Github
账号,然后选择在部署准备中新建的仓库。例如,我这里的GMBlog。在
环境变量(高级)
中加入以下变量:
1 | NODE_VERSION=14.3 |
最好是跟你的Hexo原项目环境的Nodejs版本一致,在
命令提示符
用node -v
指令查询。
直接点击
保存并部署
,部署成功后还无法访问,原因是我们只创建了应用但还没传入构建指令。来到你当前
Pages
的设置,修改构建配置
并保存。
1 | # 构建命令 |
文件
build.sh
将在稍后创建。
- 继续在当前页面,修改
构建系统版本
并保存。
1 | # 生产系统版本 |
- 在你的
Hexo项目根目录
下新建build.sh
文件,并加入以下内容:
1 | #!/bin/bash |
提交并推送。
至此已完成,可以在构建日志的
资产已上传
中看到所有静态文件。
以后每写一篇新文章并推送上去后,都会自动进行构建和部署而无需本地构建,爽。自定义域名略。
参考教程
- 将Hexo博客部署到CloudFlare Pages使用全球加速
但我不清楚为什么这个UP主不用填任何构建命令,也许是当时的系统版本问题,也可能是他仓库里本身就是构建好的静态文件,因此我优化了下这方面。
- 部署Hexo博客到Cloudflare Pages
按照Cloudflare官方的Hexo文档的说明并不能实现自动化部署,总是提示找不到hexo指令,着实令人恼火。这篇文章提供的方法完美解决了这个问题,感谢。
FAQ
Q:构建时报错fatal: No url found for submodule path 'xxx' in .gitmodules
。
A:检查项目文件是克隆了其他仓库,例如我在部署时就使用了pjax
导致构建失败。解决方法是去到该库文件夹,也就是报错中告诉你的这个目录,删掉该库下的.git
文件夹和.gitignore
文件。或者你会配置.gitmodules
文件就自己写吧,博主不会(つд⊂),最后重新提交和推送
至仓库。
Q:xxxx.pages.dev
无法访问。
A:原因你懂的,解决方法是使用自定义域。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果