經過幾天的持續調校,今天我正式完成了整個系統的「腳本重構與部署優化」。
這一階段的目標很單純:讓系統不只運作順暢,更能長期維護、快速擴展、輕鬆重啟。
原本的 scripts 目錄結構混亂不堪,開發、測試、部署全都糾纏在一起。
今天,我花了整整半天重新整理:
scripts/
├── build/ # 建置工具 (build.sh, gen.sh, lint.sh)
├── deploy/ # 部署工具 (local/, docker/, k8s/)
├── test/ # 測試工具 (e2e/, api/, performance/, security/, integration/)
├── database/ # 資料庫工具
├── docker/ # Docker 配置
└── utils/ # 共用工具腳本
✨ 這次重構的重點在於「明確邏輯分層」,每個目錄對應一個責任區塊。
開發人員再也不用翻遍目錄找腳本,維運也能輕鬆執行部署。
為了避免未來不同環境之間的落差,我統一了命名與設定:
項目 | 新規範 |
---|---|
資料庫名稱 | notification_center |
容器名稱 | teamsnotify-* |
密碼配置 | teamsnotify123 |
環境檔案 | .env.[環境名] 統一格式 |
健康檢查 | /health 與 /metrics 全覆蓋 |
移除多餘的 adminer 服務後,
整體 Compose 檔更簡潔、依賴更明確,也更容易監控。
Docker Compose 檔案被統一搬遷至 scripts/docker/
,
並建立向後相容的根目錄連結。
Makefile 也同步修正路徑、補上部署與測試目標:
make deploy-local
make deploy-docker
make test-e2e
make clean-all
這代表從 build → test → deploy → monitor,全流程皆可自動化執行。
對 CI/CD 來說,這是一大步的基礎穩定工程。
測試項目 | 結果 |
---|---|
E2E 測試 | ✅ 15/15 通過 |
本地 process 模式 | ✅ |
Docker 模式 | ✅ |
持久化 Docker 模式 | ✅ |
整個系統的測試覆蓋率與穩定性再度刷新紀錄。
部署模式的切換測試證實,環境間已達成一致性。
/alerts
端點這讓系統能「自我監控、自我警告、自我修復」——
一個會回報健康狀況的後端,就像工程師的數位分身。
「結構化不是形式,而是長期維護的生命線。」
當專案邁入穩定期,真正的挑戰不是「能不能跑」,
而是「三個月後、換一個人接手,還能不能跑」。
重構讓程式更有秩序,部署更可控,維運更安心。
這一切不只是為了今天,而是為了未來的每一個明天。
類別 | 成果 |
---|---|
🧱 目錄重構 | 完成 scripts 分層化整理 |
🐳 Docker 優化 | 統一 Compose 結構與環境變數 |
🧪 測試結果 | E2E 與 部署全數通過 |
🔐 安全強化 | 修復 SQL /CORS/JWT 漏洞 |
📘 文檔更新 | 新增 MonitoringGuide.md 與 DeploymentGuide 更新 |
今天的重構,讓整個系統不僅「能跑」,而是「能優雅地跑」。
乾淨的結構、穩定的部署、可預測的結果,
這就是一個成熟工程師給自己最好的國慶週獻禮。🇹🇼✨