如何快速将小型功能部署到生产环境🚀以及什么是功能标志
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
大家好👋
我是Taskord的创建者,我每天部署 Taskord 超过 100 次。
在本文中,我将解释如何快速无误地将产品发布到生产环境,并让我们看看员工发布和功能标志到底是什么!
🌱 规划
假设我们正在构建一个全新的“探索”页面,并且/explore这将是它的网址。请规划一下……
- 用户界面会是什么样子?
- 所有UI 组件都可用吗?
- 数据模型以及我们需要为数据库创建哪些表
- 是否存在任何阻塞问题
别想太多浪费时间,我们可以在下一次迭代中添加/改进它。
🌵 首次拉取/合并请求
做好规划后,就可以创建第一个页面,只需写明Hello, World!并指向/explore路由文件中的相应位置即可。
之后提交并推送到 GitHub/GitLab,并创建你的第一个拉取请求。
如果您是独立开发者,则此步骤是可选的,您可以直接推送到
main/master分支(但不建议这样做)。
👨💻 开发
创建拉取请求后,就开始专注于应用开发。如果你依赖后端团队,不要等到他们完成才继续开发。
相反,只需模拟 JSON 响应并开始开发工作,务必将 JSON 规范提供给后端团队,以便他们按照您的要求开发 API。否则,我们需要根据他们的 API 响应再次进行修改。
沟通和时间至关重要。
🧪 测试
开发完成后,请等待 CI 系统确认该拉取请求已通过。
所有测试通过后,将分支合并到main/ production。
先将功能部署到测试实例,这样您就可以放心地部署到生产服务器。务必进行全面测试,创建一个简短的检查清单,并在迁移到生产环境之前,确保所有功能在测试实例中都已完成并运行正常。
什么是功能标志/切换?
功能开关其实就是一个切换按钮,可以根据条件轻松地打开/关闭应用程序的某些功能。
🛡 员工发布
经过充分测试后,将main分支部署到包含新功能的生产服务器。
在内部 Slack 上发布消息:“嘿,我们刚刚把探索页面部署到生产服务器了🐿,记得开启员工推送功能。欢迎反馈😊”
然后稍等片刻,等待反馈。如果发现任何错误,请尽快修复。
顺便问一下,什么是员工船?🤔
员工船队是一个功能标志,只有网站管理员(可能是版主)才能使用,管理员可以启用该标志并检查该功能是否有效。
启用员工管理功能后,管理员可以在导航栏上方看到这个特殊的管理/性能栏,其设计灵感很大程度上来源于 GitHub.com。
Taskord 的管理栏
GitHub 的管理栏(GH 企业版)
这里有一个示例视频,展示了Taskord中员工派遣功能的工作原理。员工派遣功能可以通过按下反引号或pb键盘上的快捷键启用,此功能仅对管理员可用。
👥 Beta版发布
/explore通常情况下,你可以通过发送邮件的方式,向选定的用户发布页面。
- 用户按年龄划分
- 50%的平台用户
- 启用了测试版标志的用户等。
💬 反馈
反馈至关重要,如果用户群庞大,你会收到很多反馈,务必快速评估并在后续迭代中修复错误。
自动错误跟踪
错误跟踪也是反馈的一部分,需要实现自动化。我们使用Sentry来跟踪错误并快速修复。
这就是哨兵的样子
🌎 一般供应
如果一切就绪,可以继续操作,那就直接移除该/explore页面的所有功能标记。请务必在接下来的几天内密切关注 Sentry 的运行情况。
⚠ 注意安全
- 如果生产环境出现问题,请随时准备回滚 PR ↩
- 认真对待每一次改变😅
希望这篇文章对你有帮助😊
祝您发货愉快🚀
文章来源:https://dev.to/yo/how-to-ship-small-features-rapidly-to-production-and-what-is-feature-flags-11ic





