在超市搜索之前,如何在 bershelf 中优先从厨师服务器获取食谱?

How to have precedence in bershelf to take cookbooks from chef server before searching on supermarket?

我们在我们的组织中有一个 CI 设置,我们将食谱上传到存储库。 CI 应用程序从那里获取它。如果通过所有检查,它将把所述食谱上传到厨师服务器。作为构建的一部分,它将检查 berksfile 并收集相关的说明书并上传它们。

我们正在使用 Chef Server 12.2

问题是我们编写了一个自定义食谱并直接上传到厨师服务器(它不在超市)。我们正在推送的新食谱都依赖于这本食谱。我们给了

source :chef_server
source "https://supermarket.chef.io"

在 berks 文件中。然而,它试图去超市并获得这本相关的食谱。由于它,构建在 CI 上失败,并且我依赖于这本食谱的新食谱没有上传到厨师服务器 我如何设置 berks 从厨师服务器而不是超市获取我的食谱的优先级?

引自 berkshelf documentation(重点是我的):

If a source is configured with the location :chef_server, then Berkshelf will use the configured Chef Server as an API source. This requires Chef Server 12.4.0 or newer, or Hosted Chef.

显然 source :chef_server 不起作用,因为 berkshelf 使用的 /universe 端点已包含在 12.4.0 中的 Chef 服务器中。