今天的目標很明確:把 MyMomentum 正式部署到 EC2 上,讓整個系統在雲端以 Docker 形式跑起來。
理論上,這是整個系列中最重要的環節之一,完成之後我就能在任何地方輸入一行網址,看到屬於自己的服務。
以下是今天的待辦清單
MyMomentum Docker 部署 TODO List (全容器化)
階段三:專案準備
[✔] 上傳專案代碼到 EC2
[✔] 建立生產環境配置檔案
[✔] 建立完整的 Docker Compose 檔案 (包含 Nginx)
階段四:Docker 建置
[✔] 建立後端 Dockerfile
[✔] 建立前端 Dockerfile
[✔] 建立 Nginx 配置檔案
[ ] 建置所有 Docker 映像檔:docker-compose build
階段五:資料庫初始化
[ ] 啟動 PostgreSQL 容器
[ ] 執行資料庫遷移
[ ] 驗證資料庫連線
其實實際的待辦清單還有一半以上,但我做到一半就發現做不完。
接著當我把所有檔案搬到 EC2 開始建置的時候,問題開始出現。
前端建置問題、TypeScript 編譯問題、環境變數載入問題等等等。
雖然最後成功將所有服務都跑起來了,但花了三個小時左右跑建置、解決問題,打開網頁卻還是一片空白。

乾,這樣不行
時間不夠了。
這次的部署發現很多問題,其中最嚴重的問題:
Debug 困難— 不知道是哪個服務出問題
依賴關係複雜— 任一服務失敗可能影響整體啟動
錯誤定位困難— 日誌混在一起,不容易追蹤
測試困難— 無法單獨驗證每個服務
多服務同時部署這件事,對現在的我來說太早了,就算錯也不知道錯在哪裡。
接下來我打算改成分階段部署,讓每個服務先單獨跑起來:
先上線後端 API → 驗證 DB → 再接上前端與 Nginx。
問題會更好 trace,也容易 rollback。
確認穩定後再用 Nginx 做整合。
但是明天開始連假,哭阿 😭