四層環境架構總覽

- 開發本地環境:開發人員桌面(Windows 為主),IDE、本地 Tomcat/Jetty 熱部署。
- 開發集成環境:共享測試機,Jenkins 持續整合、Maven 私服、SVN/Git 中央庫。
- 測試環境:獨立 QA 環境,資料接近生產,驗證功能與效能。
- IDC 生產環境:線上正式服務,經運維審核發布。
第一層:本地開發環境
前端工具鏈
- 設計:Photoshop(PSD 切圖)
- 開發:Dreamweaver / VS Code / WebStorm
- 協同:SVN 版本控制 + FTP 同步至預覽伺服器
- 為何分離 SVN 與 FTP? 避免前端未完成代碼汙染後端整合分支。
後端工具鏈
- IDE:Eclipse + Tomcat 插件 / IntelliJ IDEA(支援熱部署)
- 建構:Maven 管理依賴,Ant 打包腳本
- 資料庫:連接集成環境共享 MySQL,本地不裝 DB
- 流程:本地開發 → 功能自測 → 提交分支 → Jenkins 整合測試
第二層:開發集成環境核心軟體
| 軟體 | 角色 |
| Nexus | Maven 私服,集中管理 JAR,節省頻寬與儲存 |
| Jenkins | 持續整合:拉取代碼 → 編譯 → 單元測試 → 打包 → 部署 Tomcat |
| SVN/Git | 版本控制、分支合併、程式碼審核 |
| Jira | 需求追蹤、Bug 管理、迭代規劃 |
| Fisheye | 程式碼統計、審核、可視化歷史 |
| Nginx | 虛擬主機、靜態資源代理、多專案域名分發 |
第三層:測試環境
共用 Nexus、Maven、Jenkins 等基礎設施,確保「同一套 JAR、同一套流程」。測試通過後產出發布清單、資料庫變更腳本、操作手冊,提交運維審核。
第四層:IDC 生產發布
採用增量發布系統:自動比對發布清單與目標機器,一鍵推送、失敗自動回滾。未來規劃整合服務重啟、日誌收集、監控告警。
關鍵最佳實踐
- 本地熱部署(JRebel / Spring Loaded / IDEA 熱換)極大縮短修改驗證週期。
- Maven 私服鎖定依賴版本,杜絕「我機器上好好的」。
- 分支策略:
feature/* → develop → release/* → master(生產)。
- 資料庫變更腳本納入版控,經 DBA 審核後隨應用同步發布。