Hexo搬上github服务器

真的是一直想把blog站永久化,尝试过家建服务器,尝试过runclawcloud容器云,都失败了
hexo官方推荐的做法是使用github-pages,但这需要把整个站点的源代码开源或购买github pro服务,不太适合我
最终我找到了一种方式,利用vercel.com将github的私有仓库改成持久化的生产环境部署。
更新的时候利用hexo-deployer-git插件推送部署到私有仓库,然后vercel会自动更新部署。
免费、永续、方便,blog这点破事,终于完美了——

以下三步不分先后,相辅相成吧,看明白原理优先。

1.访问vercel.com部署网站新建项目

1) 访问https://vercel.com/, 并用github账户登录

在github中安装vercel,确保可以在github的settings/Integrations/Applications里找到vercel
然后把你需要使用vercel部署的github仓库给vercel开好访问权限,全开也没啥问题

2) 点击Import Git Repository,自动生成vercel project

选择后进入配置页面,按自己项目所需配置环境变量,

3) 点击deploy进行构建

正常的话,这就部署成功了,会有一个XXXXXXX.vercel.app的默认域名,
接下来需要绑定我们自己的域名

4) 绑定域名

在Vercel侧配置(Settings - Domains)

donneryst.com
www.donneryst.com

2.域名配置DNS解析到varcel服务

我把域名的管理放在了cloudflare,或许不放会更快,以后再调整。
在域名的DNS侧配置
donneryst.com

A       @           76.76.21.21           仅 DNS   自动
CNAME	waline   	cname.vercel-dns.com  仅 DNS   自动
CNAME   www         cname.vercel-dns.com  仅 DNS   自动

第一行的A记录是vercel服务器的ip

3.利用hexo-deployer-git插件执行推送

1) 首先安装插件
npm install hexo-deployer-git
2) 再配置_config.yml
deploy:  
  type: git
  repo: git@github.com:[用户名]/[仓库名].git,main
  message: 推送部署
  name: [用户名]
  email: [邮箱]

我是利用ssh-key推送的,windows的话,默认私钥位置是

C:\Users\[用户名]\.ssh\id_rsa
3) 再执行清理与部署

默认会生成一个.deploy_git文件夹,里面内容和public一样,然后会自动推送到设定的git仓库

hexo clean
hexo deploy

最后,希望每个人博主都能找到自己的家。