雲引擎最近支援了 預覽環境,可以自動將 Pull request 部署到一個新的環境,每個預覽環境有單獨的域名,讓開發者線上上測試過後再合併 PR。
什麼是環境
雲引擎的「環境」是分組下一級的概念,是部署的最小單位。所有環境使用相同的分組設定,包括環境變數、例項規格等。
- 生產環境 用來接收和處理線上請求,是一個分組下最重要的環境。
- 預備環境 用來測試程式碼,開發者可以在修改程式碼後先部署到預備環境測試,透過後再發布到生產環境。
- 預覽環境 是這次新增的一類測試環境。
在預備環境測試的侷限
如果生產環境使用了標準版例項,我們會贈送一個預備環境用來測試,但是在預備環境測試程式碼存在一些侷限:一方面每次修改程式碼後都需要手動部署,不方便且容易出錯;另一方面預備環境只有一個,不能同時測試多個改動,如果有多個同時在開發的 PR,同一時間只能部署一個 PR 來測試。
預覽環境如何工作
預覽環境的生命週期和 PR 繫結,在建立 PR 後,雲引擎會自動建立一個預覽環境並部署改動,在 PR 有更新後會自動部署最新的改動,PR 合併或關閉後,預覽環境也會自動刪除。
開發者可以將一個泛域名(如 *.previews.example.com
)作為預覽環境域名繫結到一個分組上,在預覽環境被部署時,會自動關聯到這個域名下的一個子域名,如 pr-3
會自動關聯到 pr-3.previews.example.com
。
和其他環境類似,預覽環境使用和生產環境相同的環境變數,訪問相同的資料。
如何使用預覽環境
要開始使用預覽環境,請參考文件:使用預覽環境,設定完成後,後續建立的 PR 都會自動部署到預覽環境。在 GitHub 的 PR 頁面可以看到部署狀態:
點選 View deployment 可以開啟預覽連結:
在倉庫首頁可以看到所有環境:
點選 Environments 可以看到部署歷史:
預覽環境如何收費
預覽環境目前在測試階段,暫時不收費,執行與體驗例項相同的休眠策略。為了避免濫用,需要生產環境是標準版才能建立預覽環境,且同時最多隻能有 10 個預覽環境。