在本文中,我们将概述一个健壮且高效的 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中文网其他相关文章!