確認程式內容正確之後,如何佈署到正式環境並最小化更新風險並減少對使用者的影響?
常見作法包含:QA環境、就地佈署、滾動佈署、金絲雀佈署、藍綠佈署、紅黑佈署
QA (Quality Assurance) 環境的目標為建置一個類同於正式環境的測試區域,以驗證各項功能符合需求,同時避免功能測試影響使用者。
就地佈署 (In-place deployment) 是一種程式部署的方式,通常在程式更新時直接在正式運作環境中進行部署。
滾動佈署 (Rolling deployment) 是一種程式佈署的方式,通常在程式更新時逐步將新版本部署到各伺服器,而不是一次性對所有伺服器進行佈署。
金絲雀佈署 (Canary deployment) 是一種程式佈署的方式,在程式更新時先將新版本部署到少量伺服器,引導少部分流量到新版本伺服器。待確認功能正常運作後再佈署其他伺服器。
藍綠佈署 (Blue-green deployment) 是一種佈署策略,通常用於程式更新。它涉及建立兩個獨立且相同的環境,稱為「藍色」和「綠色」。在佈署新版本時,首先在綠色環境中部署新版本,而藍色環境仍然運行著舊版本。一旦新版本成功部署且測試無誤,流量被切換到綠色環境,使新版本對使用者可用。
紅黑佈署 (Red-black deployment) 類似於藍綠佈署,但它利用雲端服務的按需付費特性。在紅黑佈署中,只在佈署階段使用所需的伺服器資源,並在佈署完成後釋放多餘的伺服器資源。