我们将自托管的gitlab-ce升级到了最新的11.11,它引入了多个审阅者合并请求批准功能。尽管通过gitlab-rails console
this needs to be explicitly enabled。
在运行gitlab实例的机器上,我运行gitlab-rails console
并进入一个ruby控制台,在其中放置了Feature.enable(:approval_rules)
并按Enter,但我得到了:
>> Feature.enable(:approval_rules)
Nothing known about Feature.enable(
我对红宝石没有太多经验,所以不确定做错什么。我在网上搜索,但是找到了有关如何使用Ruby的“功能标志”进行开发的文档,但没有找到如何使它们成为应用程序的最终用户的文档。
答案 0 :(得分:0)
您可以通过GitLab api进行操作。
使用有效载荷POST到https://gitlab.myhost.com/api/v4/features/approval_rules
{
"value": true
}
https://docs.gitlab.com/ee/api/features.html
此外,我发现从11.9升级到11.10后会自动启用新的批准规则工作流,尽管我的经验可能有所不同。如果您对该API端点执行GET,则可以查看其当前状态。
如果已启用它,则可能是您误以为使用EE功能Multiple Approval Rules的新批准规则实现。我只是由于您问题中的-ce
标签而提及。
答案 1 :(得分:0)
对于GitLab 13.5(2020年10月),实际的功能标志适用于所有用户:
所有级别均提供功能标志
- 在GitLab 11.4中,我们introduced功能标志。
- 在GitLab 12.2中,我们引入了percent rollout和user ID功能标记策略。
- 在GitLab 13.1中,我们引入了功能标记user lists并支持每种环境的multiple Feature Flag strategies。
今年早些时候,我们致力于moving 18 features开发我们的开源核心产品,并通过在最后一个版本的Starter中提供功能标志来迈出实现这一承诺的第一步。
现在,我们已经正式完成将功能标志移至我们的核心产品中。我们很高兴能将这些功能提供给更多的GitLab社区使用,并看到它会对您的开发工作流程产生积极的影响。
请参见Documentation和Issue。
包括GitLab 13.5(截至2020年10月):
功能标记了灵活的推出策略
今天使用
percent rollout
策略时,粘性或体验一致性仅由用户ID决定。这可能是限制;例如,匿名用户不受此策略的影响。我们通过使您能够基于会话ID,用户ID或随机(不发粘)定义粘滞性,从而改进了此推出策略。这使您可以更好地控制部署,并允许匿名用户支持粘性。
请参见Documentation和Issue。
feature flag API涉及创建/更新/删除。
您必须使用feature flag strategy才能启用/禁用功能标记。
Feature.disable(:feature_flags_new_version)
Feature.enable(:feature_flags_new_version)
另请参阅GitLab 13.6(2020年11月)
更改功能标志时触发Webhook
作为开发人员,您可以将GitLab的webhook功能用于各种事件,例如MR事件,管道事件,作业事件和部署事件。在此版本中,现在可以在打开或关闭功能标志时使用webhook事件。此添加简化了更新CI / CD管道,接收事件的Slack通知等过程。非常感谢Sashi对社区的贡献!
请参见Documentation和Issue。