Hexo 部署流程
前言
之前對於自架 Blog 並沒有太多實際經驗。趁著過年期間有空,決定從零開始搭建一個屬於自己的網站,也順便把整個部署流程完整走一遍。
在實作過程中,除了前端主題設定與結構調整外,也接觸到 CI/CD 自動化部署,包括 GitHub Actions、靜態檔生成與版本控制等流程。過去做紅隊時,思考重心多半放在攻擊面與弱點利用上,較少從「系統是如何被建構與部署」的角度去理解。這次實際操作後,才真正體會到工程化流程對穩定性與可維護性的價值。
自己並非本科出身,早期更多是從實戰與攻防經驗中累積能力。但隨著紅隊工作做得越久,越能理解:
1 | 單純會打並不夠,只有理解開發流程、部署架構與自動化思維,才能真正看清整個系統的全貌。 |
如何安裝
安裝 Node.js
前往官網下載 Windows (.msi) 安裝包:
1 | https://nodejs.org/zh-tw/download |
安裝完成後確認版本:
1 | node -v |

安裝 Hexo CLI(Hexo 的指令工具,用來建立與管理網站)
一個基於 Node.js 的靜態網站生成框架,透過 Markdown + 模板引擎,在建置階段產生靜態網站。
核心流程
1 | Markdown (.md) |
重點理解:
.md 是原始內容
public/ 是 build 產物
Hexo 不提供動態後端
最終輸出的是純靜態網站
1 | npm install -g hexo-cli |

建立新專案
1 | cd %USERPROFILE%\Desktop |

安裝 Butterfly 主題
Hexo 在 build 時使用 butterfly 當作模板
1 | npm install hexo-theme-butterfly --save |
打開 _config.yml,修改:
_config.yml 是 Hexo 的全域設定檔,用來控制網站標題、主題、URL 等基本配置。
1 | theme: butterfly |
本機測試
1 | hexo clean # 清除快取與舊生成檔案 |
打開:
1 | http://localhost:4000 |
看到畫面即代表成功。
Hexo → GitHub → Actions → Pages 架構
1 | 你的電腦 (Hexo 原始碼) |
重點理解:
main = 原始碼
gh-pages = 靜態網站
public/ = build 產物
Actions = 自動化機器人
Git 基本設定與推送流程
1 | Working Directory |
1 | git config --global user.name "yourname" |
初次推送
1 | git add . |
日常發文流程
1 | git add . |
CI/CD Workflow 設定
GitHub Pages 不會幫你執行 hexo generate,因為 GitHub Pages 只是靜態檔案伺服器,不負責 build 過程。
👉 GitHub 只會部署「已存在的靜態檔」
👉 main 分支如果只有原始碼,不會自動生成
解決方式:
需要一個「自動建置機器人」,新增 .github/workflows/deploy.yml 檔案
1 | # Workflow 名稱(顯示在 GitHub Actions 頁面) |
CI/CD 的本質是:每次程式碼變動,自動觸發建置流程,產生一致且可重現的產物。
GitHub Pages 設定步驟
讀取一個 branch 裡已經存在的 HTML 檔案。
1 | Repository → Settings → Pages |