使用金丝雀部署进行生产测试:操作指南
在生产环境中测试似乎不太合适,不是吗?🤔
有了功能开关,这一切就都可能实现。那么,什么是功能开关呢?
功能开关使开发人员能够在不修改代码库的情况下启用或禁用应用程序或服务中的特定功能。这就像打开或关闭开关一样。
但为什么有人想在生产中进行测试?
有时,我们想推出一项新功能,并让一些初始用户试用或提供反馈。例如,假设您要在应用中引入一项聊天功能。您可能不想一次性向所有用户发布,而是希望最初只让 5% 的用户看到该功能,以便验证其是否运行良好。
在软件开发中,有多种方法在生产中进行测试;我们将以金丝雀部署为例。
什么是金丝雀部署?
简单来说,金丝雀部署是一种先在一小部分用户中试用新软件,然后再将其部署到所有用户手中,从而进行发布和测试的方法。这与我在上面聊天示例中提到的是一样的。这样做的好处包括轻松回滚、A/B 测试等。
还是困惑?如何设置金丝雀部署?
很高兴你问到这个问题。金丝雀部署、A/B 测试等流程一直以来都仅限于 DevOps 人员。现在,像Flagsmith这样的工具赋予了软件工程师这些能力,他们可以通过巧妙地使用功能开关自行完成这些工作。
Flagsmith 是一款开源工具,可让您轻松创建和管理跨 Web、移动和服务器端应用程序的功能标记。通过 Flagsmith,您可以将功能封装到标记中,然后根据不同的环境、用户或用户群启用或禁用它们。
通过设置功能标志或多变量标志,我们可以向 5% 的用户显示聊天功能,如上例所示。
所以现在您无需再运行那些创建管道和分支策略的操作。您可以使用简洁干净的用户界面进行所有测试,Flagsmith 会为您处理一切。只需进入界面更改百分比值即可——这样您就可以设置和更改金丝雀部署的大小,而无需重新部署。
如何设置金丝雀部署
让我们先睹为快,了解如何使用 Flagsmith 轻松设置金丝雀部署。
设置帐户并创建项目后,单击右侧面板上的“功能”按钮,然后单击“创建您的第一个功能”按钮。
要创建功能标志,您必须提供一些信息。例如,这里我们要创建一个聊天功能。ID 至关重要;它有助于我们在代码中访问此标志时识别并获取其值。
控制值可以是任何值,例如字体大小或页脚大小。在这个特定的用例中,我们将其视为有多少比例的受众可以访问该内容的百分比。
变量是预定义的值;在这里,我们设置有多少人可以访问该聊天选项。填写完所有内容后,点击“创建功能”。因此,这里只有 10% 的人可以看到聊天菜单。
现在点击“再次测试”看看是否有效。我们可以看到结果为 90。如果您想知道为什么变量权重不可见,那是因为我们在使用 SDK 时必须传入一个 Identity。
为了验证这一点,我们将值从 90% 改为 85%,将 5% 改为 10%。这样,现在 10% 的用户将能够看到聊天功能。
我们点击测试按钮验证一下,现在已经变成85%了。
现在,您可以使用 SDK 访问标志值和状态。Flagsmith 支持多种SDK。配置完成后,我们的金丝雀部署即可上线,15% 的用户将体验到聊天弹出窗口。我们可以分析其性能并调整百分比值,而无需重新部署。
总而言之,Flagsmith 让生产测试更加轻松。借助 Flagsmith,开发人员可以测试和改进他们的软件,使整个过程更加顺畅、更易于管理。对于开发人员来说,这是一款便捷的工具,可以帮助他们提升工作效率!
它也是开源的!点击此处查看代码库,别忘了点个星以表达你的支持,并加入他们精彩的社区获取技术支持。
鏂囩珷鏉ユ簮锛�https://dev.to/pradumnasaraf/testing-in-product-with-canary-deployments-a-how-to-guide-m4g