静态页面博客部署折腾(终究还是付钱了)

1
2
若是奔着免费而去,就会很有动力!
———— Dinghui.Ye



可惜标题却暴露了,终究还是薅失败了… 又要免费,又要好,做梦吗?

博客使用Hexo生成静态页面。

最开始部署到GitHub Page上,效果还不错,但是随着“墙”越来越高,博客打开速度变得越来越慢。

尝试过公共资源换成min版(如jquery.min.js等),或者链接国内资源,甚至文章图片用国内图床等方法。

貌似效果都不太理想,因为index.html加载都慢的不行…

看来,GitHub Page这条路子算是到头了…

考虑到国内应该会紧跟国际风向,果然,发现了coding.net,这个平台也提供免费搭建Page的服务。

后面写东西遇到coding无法部署更新了。

检查后发现coding要求升级,升级后使用腾讯云的oss和cdn来搭建Page(严格来说是部署)。

由于域名没有备案,只能选择非大陆节点,貌似cdn又无法选择香港节点,就连日本节点也没有,最近的就只有马来西亚节点了,搭建好后发现访问速度更慢…

怎么办呢?然后又在coding兜兜转转了几圈…

发现原来升级新版后依然可以换成旧版(必须升级才能看到“切回旧版”的链接…这…),切回旧版后又可以正常部署了,那又继续薅呗!

突然有天coding又不稳定了!!!直接无法打开博客了…

后面想来想去,既然使用腾讯oss和cdn可以做Page部署,那么阿里云是不是也可以?阿里云会不会提供香港节点呢?

操作后,发现阿里云单独使用oss就能提供页面访问了,并且还提供了香港节点,不需要cdn,那就上呗!

嗯?岂不是要付钱了?看看价格,oss流量费还算便宜(0.12元/GB/月)… 博客嘛,小水管,1块钱都可以愉快的玩很久了!

那么问题来了,如何方便的更新部署呢?

coding提供的服务类似流水线,本地更新通过git提交到coding后,coding会将更新部署到腾讯云的oss上。

而如果使用阿里云oss后,就只能自行部署了,有2种方式:

  1. 本地获取git的更新记录,再用shell脚本加持下,应该能完成更新。

获取git更新记录命令如下:

1
git diff --name-status d6f4c82340c661ec7ac49152fea255b0a46f9b9d head

每行前面的字母就是文件状态

  • ‘ ‘ = unmodified
  • M = modified
  • A = added
  • D = deleted
  • R = renamed
  • C = copied
  • U = updated but unmerged
  1. 既然coding是自建的流水线,那么也可以自行使用免费的gitlab的CICD(没曾想到工作中学到的东西终有一天居然可以民用了,值了!),然后再在gitlab-ci.yml中配置shell脚本,应该也能完成更新。

gitlab免费提供400分钟/月的CICD服务,对于博客的部署肯定完全够了(gitlab的CICD配置后期再仔细讲讲… 如果不鸽的话,笔记都有,懒得整理)。

(上述2个方法都只说了更新部署的方案,没有说oss的具体操作,因为我并没有采用这2个方案,还不是因为太麻烦了呗。不过我看了阿里云oss的api提供了http的方式,应该是可以实现的)

由于2个方案好像都挺麻烦,又想来想去,既然阿里云只用oss没用cdn就能实现Page服务。

那么腾讯云为什么就必须要用cdn呢?而且还没有香港节点!

这么复杂的部署、这么慢的服务,这还怎么和阿里云竞争?还卖个毛的服务啊!

于是又重新配置coding.net,部署完成后再去腾讯云关闭cdn,并直接在oss中配置上域名,操作简直和阿里云如出一辙!

然后博客可以访问了,速度还杠杠的!(coding怕不是腾讯云cdn的托吧…)

这样子利用coding的服务又可以轻松完成博客的部署了,还是让别人来做的香啊…

coding升级腾讯云前6个月免费,后面收费了,费用应该也便宜(毕竟阿里云也才1毛2啊…)。

DEí

折腾这么久,终究还是付了钱,但是服务更稳定了,所以说,又想免费又想好,怕是只有找到老…

最后用老罗的话术来结尾吧:

几乎免费的方法

coding.net + 腾讯云oss(关掉那该死的cdn)