在本文中,我們將概述一個健壯且高效的 Web 應用程式發布流程,該流程圍繞基於主幹的開發和基於環境的功能標誌構建。這種方法可確保持續整合、生產中的輕鬆測試以及從開發到發布的順利路徑,同時保持高品質標準。
基於主幹的開發:
環境為基礎的功能標誌:
沙箱或暫存環境:
生產發布準備:
標誌結構:
{ "feature_xyz": false, "feature_abc": true }
在運行時使用環境變數來控制標誌:
FEATURE_XYZ=true FEATURE_ABC=false npm start
後端範例:
const featureFlags = require('./config/feature-flags'); if (featureFlags.feature_xyz) { console.log('Feature XYZ is enabled!'); } else { console.log('Feature XYZ is disabled.'); }
前端範例:
if (process.env.REACT_APP_FEATURE_XYZ === 'true') { render(<NewFeatureComponent />); } else { render(<OldFeatureComponent />); }
測試期間切換標誌:
FEATURE_XYZ=true npm start
Beta 測試的流量路由:
http { upstream stable_backend { server stable_backend_1; server stable_backend_2; } upstream canary_backend { server canary_backend_1; server canary_backend_2; } upstream mixed_backend { server stable_backend_1 weight=45; server stable_backend_2 weight=45; server canary_backend_1 weight=5; server canary_backend_2 weight=5; } server { listen 80; server_name my-app.example.com; location / { if ($http_x_qa_test = "true") { proxy_pass http://canary_backend; break; } proxy_pass http://mixed_backend; } } }
修正問題:
完成發布:
建立修補程式分支:
版本控制:
除了 cookie,在生產中路由 QA 流量的其他策略包括:
基於標頭的路由:
基於 IP 的路由:
基於驗證令牌的路由:
此發布流程利用基於主幹的開發和基於環境的功能標誌來建立可擴展、可測試且生產安全的部署工作流程。透過使用沙箱環境、流量路由和專用測試策略,團隊可以提供高品質的功能,同時最大限度地降低風險。此方法可確保及早發現問題並有效解決,為無縫功能推出和修補程式鋪路。
以上是簡化 Web 應用程式的發布流程:具有功能標誌的基於主幹的開發的詳細內容。更多資訊請關注PHP中文網其他相關文章!