如何在gitlab ce中启用功能标志?

如何在gitlab ce中启用功能标志?,gitlab,gitlab-ce,Gitlab,Gitlab Ce,我们将自托管gitlab ce升级到最新的11.11版本,该版本引入了多个审阅者合并请求批准功能。尽管通过gitlab rails控制台 在运行我们的gitlab实例的机器上,我运行了gitlab rails控制台,来到一个ruby控制台,在那里我放入了功能。启用(:批准规则)并点击Enter,但我得到: >> Feature.enable(:approval_rules) Nothing known about Feature.enable( 我对ruby没有太多的经验,所以我不

我们将自托管gitlab ce升级到最新的11.11版本,该版本引入了多个审阅者合并请求批准功能。尽管通过gitlab rails控制台

在运行我们的gitlab实例的机器上,我运行了
gitlab rails控制台
,来到一个ruby控制台,在那里我放入了
功能。启用(:批准规则)
并点击Enter,但我得到:

>> Feature.enable(:approval_rules)
Nothing known about Feature.enable(

我对ruby没有太多的经验,所以我不确定我做错了什么。我在网上搜索了一下,但找到了关于如何使用Ruby的“功能标志”进行开发的文档,但没有找到如何将它们作为应用程序的最终用户来使用的文档

您可以通过GitLab api来实现

发布到
https://gitlab.myhost.com/api/v4/features/approval_rules
带有效负载

{
    "value": true
}

此外,我发现新的审批规则工作流在从11.9升级到11.10时自动启用,尽管我的经验可能有所不同。如果执行访问该API端点的操作,您将能够看到其当前状态

如果已启用,则可能您将新的审批规则实现与EE功能混淆了。我只提到您问题中的
-ce
标签。

对于(2020年10月),所有功能的实际功能标志均可用:

功能标志在所有层中都可用
  • 在GitLab 11.4中,我们使用了标志
  • 在GitLab 12.2中,我们介绍了标记策略,并提供了标记策略的特性
  • 在GitLab 13.1中,我们引入了每个环境的特性标志和支持
今年早些时候,我们致力于开发我们的开源核心产品,并在上一版本的Starter中提供了特性标志,从而迈出了实现这一承诺的第一步

现在,我们已经正式完成将功能标志移动到我们的核心产品。我们很高兴能让更多的GitLab社区使用这些功能,并看到它对您的开发工作流程产生的积极影响

见和

其中包括(2020年10月):

功能标志灵活的卷展策略 当您今天使用
百分比卷展栏
策略时,粘性或体验一致性仅由用户ID决定。这可能是有限的;例如,匿名用户不受此策略的影响

我们已经改进了这种展示策略,使您能够基于会话ID、用户ID或随机(无粘性)定义粘性。这使您能够更好地控制卷展栏,并允许您支持匿名用户的粘性

见和

更多有关创建/更新/删除的信息

必须使用才能启用/禁用功能标志

Feature.disable(:Feature\u flags\u new\u version)
功能。启用(:功能\u标志\u新版本)

另见(2020年11月)

在功能标志更改时触发Webhook 作为开发人员,您可以将GitLab的webhook功能用于各种事件,如MR事件、管道事件、作业事件和部署事件。在这个版本中,您现在可以在打开或关闭功能标志时使用webhook事件。此添加简化了更新CI/CD管道、接收事件的空闲通知等过程。非常感谢您为社区做出的巨大贡献

见和


我后来发现有些功能在CE中不可用。顶部的文档提到了文档中的功能在哪些版本中可用。谢谢你的回答。@SindhuS如果它说“在GitLab 11.2中引入。需要GitLab Runner 11.2及更高版本。”这意味着它在GitLab CE中不可用?你的安装是综合安装还是源安装?如果您没有使用omnibus,激活rails控制台的正确方法如下:
rails\u ENV=production sudo-u git-H bundle exec rails console