博客重构与自动化部署实战记录

最近对我的个人博客进行了全面的重构。由于旧项目还停留在 2018 年的状态,为了让它更符合现代开发习惯,我将其从本地手动维护升级到了基于 GitHub Actions 的自动化部署体系。

以下是本次重构的关键流程记录。

1. 核心架构升级

  • 框架: 继续沿用成熟的 Hexo 静态博客框架。
  • 主题: 采用经典的 NexT 主题(Mist 方案),并开启了全站深色模式支持。
  • 包管理: 全面转向 pnpm,提升依赖安装速度并优化本地磁盘空间。

2. 功能重构与增强

导航与结构

  • 重新配置了菜单系统,启用了 首页关于标签分类归档
  • 手动补全了 tagscategories 的页面索引文件,确保导航不失效。
  • 引入了 hexo-generator-searchdb 插件。
  • 在主题配置中开启了实时本地搜索功能,现在可以通过关键词快速检索历史文章。

3. 自动化部署 (CI/CD) 流程

这是本次重构最核心的部分。我利用 GitHub Actions 实现了“提交即发布”的流程。

部署脚本配置

.github/workflows/deploy.yml 中定义了以下步骤:

  1. 环境准备: 使用 Node.js 20 和 pnpm 环境。
  2. 构建项目: 执行 pnpm run build 生成静态文件。
  3. 自动传输: 通过 appleboy/scp-action 插件,利用 SSH Key 将生成的 public/ 目录内容同步到生产服务器。

安全管理 (Secrets)

为了保护敏感信息,服务器的登录凭证(IP、用户名、私钥、目标路径)全部托管在 GitHub 仓库的 Secrets 中,避免了明文泄露的风险。

4. 结语

通过这次重构,博客不再只是一个本地的文件夹,而是一个拥有自动化流转能力的现代化项目。

如果你也想访问我的新版博客,可以通过以下地址:
blog.mineclaw.top

访问提示: 确保服务器已开启 80 (HTTP) 和 443 (HTTPS) 端口。