paint-brush
我们需要谈论发布管理中的功能标志经过@pransh
645 讀數
645 讀數

我们需要谈论发布管理中的功能标志

经过 Pranshu Khanna5m2023/07/27
Read on Terminal Reader

太長; 讀書

功能标志在发布管理中发挥着关键作用,使开发人员能够在不更改代码的情况下控制软件功能。这些标志可以显着降低风险,促进更快的反馈,并实现轻松的 A/B 测试和无缝回滚。在发布管理的上下文中,实施功能标志可以增强对发布过程的控制,从而实现更安全、更高效的部署。无论用于实现的具体工具是什么,理解和利用功能标志对于开发人员和产品经理来说都是驾驭当今动态技术环境的一项重要技能。
featured image - 我们需要谈论发布管理中的功能标志
Pranshu Khanna HackerNoon profile picture
0-item

在不断发展的软件开发世界中,有一些工具和策略可以极大地改进我们的工作流程和结果。许多人可能不熟悉的一种这样的技术是发布管理。


具体来说,我们需要谈谈功能标志在发布管理中的作用。

了解发布管理

发布管理是在不同阶段和环境中规划、调度和控制软件构建的过程,包括测试和部署软件版本。


将其视为戏剧制作中的舞台导演,确保每个场景(或在我们的例子中,功能)在正确的时间顺利运行。

释放管理重要性的一个典型例子是 1996 年欧洲航天局臭名昭著的阿丽亚娜 5 号航班 501 号发射。


发布过程中被忽视的一个小软件错误导致火箭在升空后不到一分钟自毁,导致损失超过 3.7 亿美元。适当的发布管理本来可以避免这场灾难。

什么是功能标志?

想象一下,你是一名魔术师,你有能力让你的表演的某些部分随意出现和消失。这就是功能标志在软件世界中的作用。它们允许开发人员启用或禁用软件应用程序中的功能,而无需更改代码和重新部署应用程序。


该技术也称为特征切换、特征切换或特征翻转。

功能标志和发布管理的交叉点

功能标志和发布管理的交叉方式使开发人员可以在发布过程的各个阶段更好地控制其软件的功能。


这就像一部戏剧的“排练”和“最终表演”版本同时进行,导演有权无缝地进出场景。


例如,应用程序中的新功能可以在测试阶段隐藏在功能标志后面,从而允许开发人员对其进行彻底测试,而不会影响最终用户。如果出现问题,可以立即关闭该功能,防止任何负面的用户体验。

在发布管理中使用功能标志的理想过程。

为什么在发布管理中使用功能标志?

功能标志在发布管理方面提供了许多好处,从安全部署到实验和优雅降级。


安全部署就像拥有安全网。通过在功能标志后面部署新功能,开发人员可以逐步向一小部分用户推出该功能,从而降低出现广泛问题的风险。


例如,Netflix 以使用功能标记进行“金丝雀发布”而闻名,即在完整发布之前向一小部分受众推出新功能。

炒作还是价值?

功能标志不仅是开发人员的一个很酷的工具,而且是整个软件开发过程的游戏规则改变者。这对于理解功能标志帮助您发布和控制版本至关重要,但以下是它们对您的日常工作流程的重要性:


  1. 降低风险:功能标志降低了部署新功能的风险。通过将新功能隐藏在标志后面,我们可以在将它们提供给所有用户之前对其进行彻底测试。


  2. 更快的反馈:通过向一小部分用户发布功能,我们可以更快地收集反馈并进行改进。


  3. 实验:功能标志启用 A/B 测试,使我们能够测试某个功能的不同版本,看看哪个版本性能更好。


  4. 无缝回滚:如果某个功能未按预期工作,功能标志允许快速回滚。这比回滚整个软件版本要简单得多,风险也更小。现在怎么办?


在客户期望和竞争比以往任何时候都更高的时代,了解和利用功能标志不再是可选的,而是必不可少的。想象一下这样一种情况:某个功能在部署后发现了一个重大错误。


如果没有功能标志,可能需要删除整个应用程序才能解决问题。但通过功能标志,可以关闭有故障的功能,同时应用程序的其余部分继续不间断地为用户服务。


功能标志在发布管理中的作用是科技行业值得更多关注的话题。正如我们所看到的,它们提供了一种强大的方法来控制功能发布、降低风险并最终为用户提供更好的产品。

如何实现功能标志

在软件中实现功能标志可以通过多种方式实现。你可以:

  1. 构建您自己的:如果您有时间和资源,您可以将自己的功能标志直接编码到您的应用程序中。这为您提供了最大的控制权,但它可能非常耗时,并且维护它是一项巨大的承诺。


  2. 使用库:有多个库可以帮助您实现功能标志,例如用于 Java 的 Togglz 或用于 Python 的 Django-waffle。


  3. 使用功能标志管理系统:要获得更强大的解决方案,您可以使用功能标志管理系统,例如Unleash ,这是一个免费的开源工具,可让您控制功能标志,而无需繁重的工作。

现在开始

  1. 开始释放

安装了gitdocker后,上手就很容易了:


运行这个脚本:

 git clone [email protected]:Unleash/unleash.git cd unleash docker compose up -d


然后将浏览器指向localhost:4242并使用以下命令登录:


用户名: admin

密码: unleash4all


如果您希望直接通过 Node.js 运行此存储库中的源代码,请参阅贡献指南中的启动和运行分步说明。


  1. 连接您的 SDK

在我们的官方 SDK 列表中找到您首选的 SDK,并将其导入到您的项目中。请遵循特定 SDK 的设置指南。


对于前端 SDK,请使用:

  • 网址: http://localhost:4242/api/frontend/
  • clientKey: default:development.unleash-insecure-frontend-api-token


对于服务器端 SDK,请使用:

  • 释放 API URL: http://localhost:4242/api/
  • API令牌: default:development.unleash-insecure-api-token


如果您使用不同的设置,您的配置详细信息很可能也会有所不同,您可以在GitHub Repo上找到这些信息。

综上所述…

在客户期望和竞争比以往任何时候都更高的时代,了解和利用功能标志不再是可选的,而是必不可少的。想象一下这样一种情况:某个功能在部署后发现了一个重大错误。


如果没有功能标志,可能需要删除整个应用程序才能解决问题。但通过功能标志,可以关闭有故障的功能,同时应用程序的其余部分继续不间断地为用户服务。


功能标志在发布管理中的作用是科技行业值得更多关注的话题。正如我们所看到的,它们提供了一种强大的方法来控制功能发布、降低风险并最终为用户提供更好的产品。