iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
佛心分享-SideProject30

Vibe Code與context engineering來打造個人專屬夥伴系列 第 27

Day 27 — 腳本重構與部署優化,讓系統更優雅地呼吸

  • 分享至 

  • xImage
  •  

🛠️ Day 27 — 腳本重構與部署優化,讓系統更優雅地呼吸

經過幾天的持續調校,今天我正式完成了整個系統的「腳本重構與部署優化」。
這一階段的目標很單純:讓系統不只運作順暢,更能長期維護、快速擴展、輕鬆重啟。


🧩 一、Scripts 目錄全面重構

原本的 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 配置與 Makefile 優化

Docker Compose 檔案被統一搬遷至 scripts/docker/
並建立向後相容的根目錄連結。

Makefile 也同步修正路徑、補上部署與測試目標:

make deploy-local
make deploy-docker
make test-e2e
make clean-all

這代表從 build → test → deploy → monitor,全流程皆可自動化執行。
對 CI/CD 來說,這是一大步的基礎穩定工程。


📊 四、E2E 與 部署測試全數通過

測試項目 結果
E2E 測試 ✅ 15/15 通過
本地 process 模式
Docker 模式
持久化 Docker 模式

整個系統的測試覆蓋率與穩定性再度刷新紀錄。
部署模式的切換測試證實,環境間已達成一致性


🔒 五、安全與監控全面強化

  • 修復 SQL 注入漏洞(白名單策略)
  • 限制 CORS 允許來源
  • 移除不安全 JWT secret,改用 環境變數註入
  • 新增 Alert Service 與 /alerts 端點
  • 實作 5 秒快取與 runtime 記憶體統計

這讓系統能「自我監控、自我警告、自我修復」——
一個會回報健康狀況的後端,就像工程師的數位分身。


💡 六、架構重構的價值

「結構化不是形式,而是長期維護的生命線。」

當專案邁入穩定期,真正的挑戰不是「能不能跑」,
而是「三個月後、換一個人接手,還能不能跑」。

重構讓程式更有秩序,部署更可控,維運更安心。
這一切不只是為了今天,而是為了未來的每一個明天。


🧾 今日成果摘要

類別 成果
🧱 目錄重構 完成 scripts 分層化整理
🐳 Docker 優化 統一 Compose 結構與環境變數
🧪 測試結果 E2E 與 部署全數通過
🔐 安全強化 修復 SQL /CORS/JWT 漏洞
📘 文檔更新 新增 MonitoringGuide.md 與 DeploymentGuide 更新

🌅 明日目標

  1. 持續優化 API 效能(目標 < 100 ms)
  2. 完善 告警閾值 與 通知機制
  3. 擴展 測試覆蓋率 > 90%
  4. 整合 Grafana 可視化儀表板

🎯 結語:優雅,是最終的效能

今天的重構,讓整個系統不僅「能跑」,而是「能優雅地跑」。
乾淨的結構、穩定的部署、可預測的結果,
這就是一個成熟工程師給自己最好的國慶週獻禮。🇹🇼✨


上一篇
Day 26 — 國慶日的工程師式慶祝:監控上線、系統滿血!
下一篇
Day 28 — 監控進化與測試覆蓋率救援行動
系列文
Vibe Code與context engineering來打造個人專屬夥伴30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言