💡
原文中文,约2000字,阅读约需5分钟。
📝
内容提要
自从2017年使用Hexo+NexT作为博客框架以来,已经过去好几年。由于之前对NexT主题和插件做了很多侵入式的修改,无法进行平滑升级。决定推倒重建。新版本使用最新的组件版本,使用PNPM管理主题,通过Data Files和Injector特性进行自定义修改。使用asdf-vm管理nodejs版本,使用Renovate自动更新依赖项。持续集成使用Github Actions,将制品传输到Coding的制品库,再从制品库拉取到Web服务器,发布时间降低到秒级。优势是不再担心组件更新维护问题。
🎯
关键要点
- 自2017年使用Hexo+NexT作为博客框架以来,因侵入式修改无法平滑升级,决定推倒重建。
- 旧版本使用的主要组件包括nodejs 6.9.4、hexo 3.2.2和hexo-theme-next 5.1.0,几乎没有进行维护更新。
- 持续集成使用Coding托管的Jenkins,发布静态文件到Web服务器,但面临依赖更新的维护困难。
- 新版本使用最新组件,代码仓库托管在Github,镜像到Coding,仅在Github提交。
- 主题管理使用PNPM,主题以NPM包形式安装,配置文件在hexo根目录下,采用非侵入式的自定义修改方式。
- 使用asdf-vm管理nodejs版本,确保多版本管理。
- 通过Renovate自动化依赖项更新,支持多平台和多语言,简化依赖管理。
- 持续集成使用Github Actions,改为先传输到Coding制品库,再从制品库拉取到Web服务器,降低发布时间到秒级。
- Github Actions简化了pipeline编写流程,相比Jenkins更高效,社区丰富的action可直接使用。
- 新版本的优势在于不再担心组件更新维护问题,依赖管理机器人自动提交PR,简化更新发布流程。
➡️