云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名注册_上海网站建设公司_新注册优惠

小七 141 0

功能标记的5个最佳实践

随着软件团队寻求更高的敏捷性,用于软件开发和交付的工具和技术每年都在不断发展。DevOps和CI/CD实践提供了一个坚实的框架,允许团队以更高的自动化程度和更低的风险发布软件。最好的方法之一就是在软件开发中加入特性标记练习。在它们最基本的形式,功能标志是"if和else"语句,它们创建了一个有条件的代码分支,允许开发人员将某些功能限制到特定的用户组。如果打开标志或开关,则执行代码;否则跳过。但是,特性标志可以超越简单的布尔状态,可以是复杂的逻辑语句、列表、数组和更多。团队在全球范围内,使用特性标志(也称为特性切换)进行可靠的发布和试验。特性标志的一个主要优点是它们在交付和发布之间提供了细粒度的分离。团队可以谨慎地向有限的用户推出特性,验证其功能和性能,并使用蓝绿、金丝雀和其他分阶段部署实践逐步向更大的用户发布相同的功能。虽然使用特性标志有明显的好处,但是它们可能会变得越来越复杂,并且很难维护时间。而大多数团队开始使用功能标志依赖于内部系统,他们缺乏管理功能标志的可扩展策略。随着更多的标志被添加到代码中,应用程序变得更难测试,团队成员更难理解,更容易出错。有时,生产中的测试也会泄漏问题并将漏洞暴露给公众。这给团队带来了额外的压力,并可能导致测试成本的增加。如果没有大规模管理功能标志所需的工具,与功能标记相关的成本和风险往往超过其福利。你遵循功能标志管理中的最佳实践,可以轻松避免此类风险。下面是五种管理功能标志的方法更好:标志命名约定功能标志的正确命名约定是实现更好管理的第一步。在没有命名约定的情况下,团队成员可能会混淆标志,或者更糟的是,创建具有相同名称的标志。如果您不小心标记旗帜,您团队中的某些人可能会错误地触发这些标志,在极端情况下可能导致严重的中断。采用一种命名约定,允许您获取有关对标志进行更改的类型或用途的信息。CloudBees Rollout为您提供了一种独特的方法,该方法基于您正在使用的编程语言的类型系统在名称空间下强制名称唯一性。为了更好地跟踪更改,请考虑将所有更改记录到功能标志中。如果您设置了日志记录,您可以跟踪谁引入了更改,以及在什么时候引入了更改。在分布式团队中,这可以节省大量的时间来确定谁对某个特定的更改负责或拥有相应的权限。功能分布的影响并不局限于工程团队,您应该将功能状态记录到您的使用分析、支持系统等。随着CloudBees的推出,我们已经公开了impression处理程序,允许您向所有不同的平台。分离标志的特性标志主要可分为两类不同类型:释放标志和业务标志。发布标志允许开发和操作团队暂时隐藏在开发中或有风险的特性中,而业务切换用于稳定但必须隐藏或仅对选定受众可见的功能。在不同的配置文件中管理这两种类型的标志可以帮助您降低复杂性并简化支持和调试。我们建议使用CloudBees卷展栏的标签系统对每个标志进行分类类型。访问控制将特性标志交给非技术用户可能是一把双刃剑。使用细粒度方法进行访问控制。不同的团队应该具有不同级别的可见性和对环境和标志的访问。例如,可以考虑对临时登录或具有支持的登录施加限制凭据。生命周期管理卫生随着时间的推移,功能标志可能会导致代码的复杂性,因为不推荐使用的分支和功能从未发布或被其他东西替代。当前标志可能与以前的标志冲突。确定哪些标志是必需的,哪些标志是多余的或过时的,这可能是一个挑战。解决这个问题的一种方法是查看特性标志是否始终处于打开或关闭状态;如果是这样,它就达到了它的目的。您还可以定义标志状态,以帮助您的团队区分短期和长期标志。"状态"字段可以在定义的时间段后动态更新,从而使您的团队能够确定哪些标志是安全的删除。到为了避免技术债务的积累,您需要小心地管理旗帜,精确地控制和了解它们的变化、展开和日落。然而,对于自主开发的系统,所有这些都是具有挑战性的。企业就绪功能标志管理系统可以使您的任务显著简单点。我自己12月4日,在里斯本的DevOps World | Jenkins World,Erez Rusovsky将介绍更多关于这一主题的内容。如果你想了解更多,请加入我们主题。附加资源:注册免费试用CloudBees Rollout请观看本次网络研讨会,了解为什么CI/CD需要功能标记了解Jenkins X和CloudBees Rollout的渐进式交付和功能标志之间的区别查看此功能入门终极指南旗帜