蓝冰小站

icy's blog

马上订阅 蓝冰小站 RSS 更新: https://icys.top/atom.xml

基于 GitHub Actions + 宝塔 + DCDN 的 Hexo 博客配置

2022年1月21日 12:00

不知不觉博客已经开启接近两年了,一直以来本站使用的技术是阿里云全站加速+GitHub Pages 的部署方式。不过由于国内 CDN 回源 Pages 服务器还是存在着连接质量差的问题,在两周年之际,本站使用了基于 GitHub Actions + 宝塔 + 阿里云全站加速的搭建模式。

好用的 GitHub Actions

Actions 是个好东西,一个月有 3000 分钟的私有仓库时长配额(GitHub Pro 或 GitHub Student Pack),普通用户也有 2000 分钟每月的私有仓库时长配额。值得一提的是,对于公开的仓库,GitHub Actions 是全免费、随便用的(单帐户同类镜像仅允许同时开启一个,否则会排队等待上一个 Job 执行完毕,单 Job 运行最长时间 6 小时)。

相比于Travis CI之类的持续集成工具来说,GitHub Actions 对同平台的仓库相比更加具有便利性(至少 clone 个代码是真心快😂)。

Actions 不只是可以做 Release 导出、项目构建之类的操作,由于其定时运行的特性,常被大家用来渲染账户成就(如 star 超过 3k 的Metrics,作者 icy 也部署了其自动生成个人 Profile),自动体温填报等操作。

Hexo 类博客与 GitHub Pages

Hexo 是目前来说非常普遍使用的博客了,在 GitHub 上有许多主题,如本站使用的是闪烁之狐matery主题,在此也再次向作者表示感谢。用户可以轻易通过几行代码就可以生成一个简单的博客,编写 markdown 的博客内容,并通过一句简单的hexo deploy或者hexo d就可以将自己博客部署到仓库中。

虽然 Hexo 最近一直在更新,不过 Hexo 很多功能插件的依赖项,爆出了安全漏洞,如hexo-renderer-marked使用的marked@^2.1.3,爆出了GHSA-5v2h-r2cx-5xgjGHSA-rrrm-qjm4-v8hf安全漏洞,而截至目前(2022 年 1 月 21 日)插件维护方尚未对该插件的依赖版本升级至4.0.10以上。

为了更加的傻瓜式,GitHub 还提供了 Pages 服务,帮助直接将一个静态网站部署到https://<username>.github.io/<repository>/上。经过一段时间的自动部署,我们就可以访问自己刚刚部署好的博客界面了。

GitHub Pages 可以满足绝大多数海外用户的使用需求,因为 Pages 对于一个简单的非商业项目来说配额已经十分充足——

GitHub Pages sites are subject to the following usage limits:

  • GitHub Pages source repositories have a recommended limit of 1GB.
  • Published GitHub Pages sites may be no larger than 1 GB.
  • GitHub Pages sites have a soft bandwidth limit of 100GB per month.
  • GitHub Pages sites have a soft limit of 10 builds per hour.

配额说明来自于 2022 年 1 月 21 日的GitHub Docs,不过对于国内用户来说更大的问题是,由于海外带宽的限制以及一些原因,国内用户访问 GitHub 及 GitHub Pages 经常出现连接问题。自己好不容易搭建的博客,发现国内的朋友们,尤其是不太会科学使用网络的朋友们,打不开自己的博客,可能也会非常沮丧吧😢😱

真·二次元

使用 CDN 分发与加速

既然 GitHub Pages 打不开,我们可能就想,有没有其他更合适的办法,让大陆用户正常地访问自己的网页呢?当然有——icy 和他的朋友KS就不约而同地使用了 CDN 分发和加速。内容分发网络...

剩余内容已隐藏

查看完整文章以阅读更多