我们的组织中有一个CI设置,我们将我们的cookbook上传到存储库。从那里它被CI应用程序选中。如果所有检查都通过,它会将所述菜谱上传到厨师服务器。作为构建的一部分,它将检查berks文件并收集依赖的cookbook并上传它们。
我们正在使用Chef Server 12.2
问题是我们有一个自定义的食谱,并直接上传到厨师服务器(它不在超市上)。我们推出的新食谱依赖于这本食谱。我们已经给出了
source :chef_server
source "https://supermarket.chef.io"
在berksfile中。然而它试图去超市买这本依赖的食谱。 CI的构建失败,因为依赖于这本食谱的新菜谱没有上传到厨师服务器 如何设置berks的优先级,以便从厨师服务器而不是超市获取我的食谱?
答案 0 :(得分:2)
引自berkshelf documentation(强调是我的):
如果源配置了location:chef_server,那么 Berkshelf将使用配置的Chef Server作为API源。这个 要求Chef Server 12.4.0或更高版本,或托管厨师。
显然source :chef_server
不起作用,因为berkshelf使用的/universe
端点已被包含在12.4.0中的厨师服务器中。