发布于 2026-01-06 0 阅读
0

如何快速将小型功能发布到生产环境🚀以及什么是功能标志?DEV 的全球展示挑战赛由 Mux 呈现:展示你的项目!

如何快速将小型功能部署到生产环境🚀以及什么是功能标志

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

大家好👋

我是Taskord的创建者,我每天部署 Taskord 超过 100 次。

在本文中,我将解释如何快速无误地将产品发布到生产环境,并让我们看看员工发布和功能标志到底是什么!

🌱 规划

假设我们正在构建一个全新的“探索”页面,并且/explore这将是它的网址。请规划一下……

  • 用户界面会是什么样子?
  • 所有UI 组件都可用吗?
  • 数据模型以及我们需要为数据库创建哪些
  • 是否存在任何阻塞问题

别想太多浪费时间,我们可以在下一次迭代中添加/改进它。

🌵 首次拉取/合并请求

做好规划后,就可以创建第一个页面,只需写明Hello, World!并指向/explore路由文件中的相应位置即可。

之后提交并推送到 GitHub/GitLab,并创建你的第一个拉取请求。

屏幕截图 2021-01-09 173436

如果您是独立开发者,则此步骤是可选的,您可以直接推送到main/master分支(但不建议这样做)。

👨‍💻 开发

创建拉取请求后,就开始专注于应用开发。如果你依赖后端团队,不要等到他们完成才继续开发。

相反,只需模拟 JSON 响应并开始开发工作,务必将 JSON 规范提供给后端团队,以便他们按照您的要求开发 API。否则,我们需要根据他们的 API 响应再次进行修改。

沟通和时间至关重要。

🧪 测试

开发完成后,请等待 CI 系统确认该拉取请求已通过。

屏幕截图 2021-01-09 175331

所有测试通过后,将分支合并到main/ production

先将功能部署到测试实例,这样您就可以放心地部署到生产服务器。务必进行全面测试,创建一个简短的检查清单,并在迁移到生产环境之前,确保所有功能在测试实例中都已完成并运行正常。

什么是功能标志/切换?

功能开关其实就是一个切换按钮,可以根据条件轻松地打开/关闭应用程序的某些功能。

🛡 员工发布

屏幕截图 2021-01-09 182645

经过充分测试后,将main分支部署到包含新功能的生产服务器。

在内部 Slack 上发布消息:“嘿,我们刚刚把探索页面部署到生产服务器了🐿,记得开启员工推送功能。欢迎反馈😊”

然后稍等片刻,等待反馈。如果发现任何错误,请尽快修复。

顺便问一下,什么是员工船?🤔

员工船队是一个功能标志,只有网站管理员(可能是版主)才能使用,管理员可以启用该标志并检查该功能是否有效。

启用员工管理功能后,管理员可以在导航栏上方看到这个特殊的管理/性能栏,其设计灵感很大程度上来源于 GitHub.com。

Taskord 的管理栏

屏幕截图 2021-01-09 181035

GitHub 的管理栏(GH 企业版)

3

这里有一个示例视频,展示了Taskord中员工派遣功能的工作原理。员工派遣功能可以通过按下反引号或pb键盘上的快捷键启用,此功能仅对管理员可用。

👥 Beta版发布

屏幕截图 2021-01-09 182727

/explore通常情况下,你可以通过发送邮件的方式,向选定的用户发布页面。

  • 用户按年龄划分
  • 50%的平台用户
  • 启用了测试版标志的用户等。

💬 反馈

反馈至关重要,如果用户群庞大,你会收到很多反馈,务必快速评估并在后续迭代中修复错误。

自动错误跟踪

错误跟踪也是反馈的一部分,需要实现自动化。我们使用Sentry来跟踪错误并快速修复。

这就是哨兵的样子

屏幕截图 2021-01-09 182053

🌎 一般供应

屏幕截图 2021-01-09 182805

如果一切就绪,可以继续操作,那就直接移除该/explore页面的所有功能标记。请务必在接下来的几天内密切关注 Sentry 的运行情况。

⚠ 注意安全

  • 如果生产环境出现问题,请随时准备回滚 PR ↩
  • 认真对待每一次改变😅

希望这篇文章对你有帮助😊

祝您发货愉快🚀

文章来源:https://dev.to/yo/how-to-ship-small-features-rapidly-to-production-and-what-is-feature-flags-11ic