你有沒有這種經驗:網站做好了,工程師說「部署需要一天」。改了一個 typo,又要等半天才能上線。更慘的是,上線之後才發現 SSL 憑證沒裝、某個頁面 404、手機版排版整個跑掉。

這些問題的根源都一樣:手動部署

HEY!BOSS 銀月數位顧問,我們用 CI/CD 自動部署,從程式碼推送到網站上線,只要 2 分鐘,零人工介入。這篇文章公開我們的完整技術架構。

一、什麼是 CI/CD?

CI(Continuous Integration,持續整合)是指每次程式碼變更都自動進行建置和測試,確保新的程式碼不會破壞現有功能。

CD(Continuous Deployment,持續部署)是指通過測試的程式碼自動部署到生產環境,不需要人工操作。

兩者結合就是 CI/CD Pipeline:程式碼從開發者的電腦到使用者的瀏覽器,全程自動化、全程可追蹤、全程可重複。

二、HEY!BOSS 的 CI/CD Pipeline 完整流程

以下是我們實際運行的 Jenkins Pipeline,每次部署都會經過這 6 個階段:

Stage 1:Git Push — 觸發 Pipeline

工程師把程式碼 push 到 GitLab,GitLab 的 Webhook 自動通知 Jenkins:「有新的程式碼了,開始工作。」整個 pipeline 從這裡自動啟動,不需要任何人按任何按鈕。

Stage 2:Build — 建置專案

Jenkins 拉取最新程式碼,執行建置指令(npm build / yarn build)。如果是 Vue、React 等前端框架,這個階段會把 TypeScript 編譯成 JavaScript、壓縮 CSS、優化圖片、生成靜態檔案。

Stage 3:Test — 自動測試

建置成功後,自動執行測試套件。包含:

任何測試失敗,pipeline 立即中斷,不會有有問題的程式碼進入生產環境。

Stage 4:Deploy — Docker 容器部署

測試通過後,Jenkins 自動執行部署:

Docker 容器化的好處是環境一致性。開發環境能跑的,生產環境一定也能跑。不會出現「在我電腦上是好的啊」這種問題。

Stage 5:SSL — Let's Encrypt 自動憑證

網站部署完成後,如果是新的域名,Nginx Proxy Manager 會自動透過 Let's Encrypt 申請免費的 SSL 憑證。HTTPS 強制跳轉也是自動設定的。憑證到期前會自動續期,不需要記任何日期。

Stage 6:DNS — 自動域名設定

透過 AWS Route 53 API,新的子域名會自動建立 DNS 記錄,指向正確的伺服器 IP。從域名到 HTTPS 連線,全部自動完成。

三、Nginx Proxy Manager:反向代理的指揮中心

當你有數十個甚至上百個網站都部署在同一台伺服器上時,需要一個「流量指揮中心」來決定每個域名應該導向哪個 Docker Container。這就是 Nginx Proxy Manager 的角色。

HEY!BOSS 的 100 個品牌網站,全部透過同一個 Nginx Proxy Manager 管理。新增一個站點只要在 UI 上點幾下,或是透過 API 自動新增。

四、監控:部署完才是開始

很多公司的 DevOps 做到部署就結束了。但在 HEY!BOSS,我們認為部署完才是真正的開始。上線後的監控同樣重要:

Health Check 健康檢查

每 5 分鐘自動對所有網站發送 HTTP 請求,確認網站正常回應。如果連續三次失敗,立即推送 Telegram 警報,並附上錯誤訊息和伺服器狀態。

Cost Report 成本報告

每天自動計算 AWS 的使用成本,推送到 Telegram。當日費用超過設定的閾值會觸發警報,避免意外的費用暴增(例如被 DDoS 攻擊導致流量費用飆升)。

部署通知

每次 CI/CD Pipeline 完成(無論成功或失敗),都會推送 Telegram 通知,包含:部署的專案名稱、觸發者、耗時、成功/失敗狀態。如果失敗,還會附上錯誤 log 的關鍵行。

五、實際數據:HEY!BOSS 的部署效率

以下是我們實際的部署數據:

這不是實驗室的理想數據,是我們每天實際在跑的生產環境數據。

「部署應該像呼吸一樣自然。你不會每次呼吸都要手動操作肺部,部署也不應該。CI/CD 讓部署變成一個不需要思考的動作。」

六、為什麼這很重要?

CI/CD 不只是技術面的提升,更是商業面的競爭優勢

HEY!BOSS 銀月數位顧問的每一個客戶專案,都享有這套 CI/CD 基礎設施。不是加購選項,是標配。

想讓你的網站擁有 2 分鐘自動部署?

HEY!BOSS 的建站和系統開發服務,標配 CI/CD 自動部署、SSL、監控和 Telegram 通知。

免費諮詢