【Hexo】CI/CD——持续集成&持续部署

这里不讲 CI/CD 的概念,我们想要做到的,就是自动化编译、部署博客,把注意力都集中在写作上。 之前已经讲过 《【Hexo】Git 一键部署》,但那仅仅是一键部署。在部署之前,还需要在本地安装 Nodejs 环境,安装依赖包,然后编译,最后才能开始部署。当然,Nodejs 环境和依赖一台机器上安装一次就够了,以后只需编译就行,但如果需要在多台机器上写作,那么每台机器都要装环境、装依赖…… 也还行,还比较便利,但还不够。 我们可以借助 CI/CD 工具,完成环境搭建、编译、部署等一系列工作,真正做到一键上传博客。 说到这里,我想到了 WordPress。 WordPress 很容易就可以做到一键上传博客,完全不用搞什么 CI/CD。 免费的 CI/CD 工具不少,这里我选择了 Gihub Action。博客文章都是存储在 Github 库中,用 Gihub Action 也比较方便。 如下是工程文件, https://github.com/vksir/blog-posts/blob/master/.github/workflows/main.yml 关于博客系统 WordPress 确实是好,但不太适合我: 文章都存储的 MySQL 数据库中。 数据库很可靠,但是我的服务器并不可靠。服务器是租的,上面的数据我并不是很放心。比起个人服务器,我更愿意把数据存储在 Github 这种地方。 性能消耗大。 WordPress 需要 MySQL、PHP 支撑,光跑这俩个组件就要占用大量内存,1H2G 的服务器有点难吃下。 Hexo 也挺好的,但也有问题: 很简单,也很复杂。 简单指的是很容易就能生成博客页面,复杂是指,如果想要做到 WordPress 那样便利,其实很麻烦,要装一堆插件,配置一堆东西,完了还没有 WordPress 好用。 二次开发也不容易。 博客主题经常就会有变更需求,只能硬写 Html、CSS、JS,着实是有点难为我这个后端开发者。如果能用用 React 之类的框架,那还简单点。 最好就是自己动手写博客,想怎么样就怎么样。框架好说,数据也好说,难的是主题。从零开始写 CSS,简直魔鬼……

五月 8, 2022  |  60 字  |  总阅读