Hugo博客的完整CI/CD流程:从Git推送到自动部署

项目背景 这是一个基于Hugo的个人技术博客系统,采用完全自动化的CI/CD流程,实现了从本地编写文章到生产环境发布的全流程自动化。整个系统具有以下特点: ✅ 零成本运营:使用GitHub Actions免费额度 ✅ 高度自动化:Git推送即部署,2-3分钟自动完成 ✅ 模块化设计:支持多专题独立管理 ✅ 自主可控:自建访客统计系统 ✅ 性能优异:静态网站,首页加载<2秒 核心工作流: 写作(2分钟) → Git推送(即时) → Actions构建(1.5分钟) → rsync部署(30秒) → 网站生效(即时) 技术架构 技术栈 层级 技术选型 说明 静态网站生成器 Hugo v0.150.1 extended 构建速度快,支持SCSS 主题 PaperMod 简洁美观,功能丰富 CI/CD平台 GitHub Actions 免费,与GitHub深度集成 版本控制 Git + GitHub 代码托管和协作 Web服务器 Nginx 1.20.1 高性能静态文件服务 SSL证书 Let’s Encrypt (acme.sh) 免费,自动续期 访客统计 Python Flask + SQLite 自建,数据可控 服务器 阿里云ECS CentOS/Alibaba Cloud Linux 系统架构图 ┌─────────────────────────────────────────────────────────────┐ │ 本地开发环境 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 写作编辑 │→│ 本地预览 │→│ Git提交 │ │ │ │ Markdown │ │hugo server│ │git push │ │ │ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ GitHub平台 │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ GitHub Actions (CI/CD) │ │ │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │ │ │检出 │→│安装 │→│构建 │→│SSH │→│部署 │ │ │ │ │ │代码 │ │Hugo │ │网站 │ │连接 │ │文件 │ │ │ │ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │ │ └──────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 生产服务器 │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Nginx Web服务器 │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │ 静态文件 │ │ SSL证书 │ │ 访客统计 │ │ │ │ │ │ /blog/ │ │ HTTPS加密 │ │ Flask API │ │ │ │ │ └────────────┘ └────────────┘ └────────────┘ │ │ │ └──────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 用户访问 │ │ https://ruyueshuke.com/blog/ │ └─────────────────────────────────────────────────────────────┘ GitHub Actions CI/CD配置 配置文件结构 文件位置:.github/workflows/deploy.yml ...

2026-01-29 · maneng

从零搭建Hugo博客系统:完整实施SOP

前言 本文档记录了如约数科博客系统的完整搭建过程,从本地开发环境到自动化部署,形成标准化操作流程(SOP),可作为类似项目的参考模板。 项目成果: 博客地址:https://47.93.8.184/ (域名备案中) GitHub仓库:https://github.com/Maneng/ruyueshuke-blog 部署方式:Git推送自动触发部署 部署时间:2-3分钟自动完成 技术栈: 静态网站生成器:Hugo v0.150.1 主题:PaperMod 版本控制:Git + GitHub CI/CD:GitHub Actions 服务器:阿里云 CentOS Web服务器:Nginx 1.20.1 传输工具:rsync 一、需求分析 1.1 业务需求 作为一名7年Java后端开发,专注跨境电商和供应链领域,需要一个个人技术博客来: 记录技术学习和工作经验 整理每日思考和业务洞察 构建个人知识体系 分享问题解决方案 1.2 技术需求 核心需求: ✅ Markdown写作,所见即所得 ✅ 自动化部署,无需手动操作 ✅ 版本控制,内容永不丢失 ✅ 代码高亮,支持多语言 ✅ 响应式设计,移动端友好 ✅ 搜索功能,快速定位内容 ✅ 零成本运行(服务器已有) 扩展需求: RSS订阅 标签和分类 暗黑模式 SEO优化 1.3 方案选择 对比主流静态网站生成器: 工具 优势 劣势 选择原因 Hugo 构建极快、单文件部署、主题丰富 Go模板语法陌生 ✅ 选中 VuePress Vue生态、可写组件 构建较慢 - Hexo 社区大、插件多 Node依赖复杂 - Jekyll GitHub原生支持 构建很慢 - 最终选择:Hugo + PaperMod主题 ...

2025-10-02 · maneng

如约数科科技工作室

浙ICP备2025203501号

👀 本站总访问量 ...| 👤 访客数 ...| 📅 今日访问 ...