如何覆盖社区食谱的 Chef 库文件中指定的属性值

How can I override an attribute value that is specified in a Chef library file of a community cookbook

我想弄清楚如何在不直接更改社区说明书的情况下使用包装器说明书覆盖属性。

在本例中,它是 Octopus-Deploy 说明书。

有一个 server.rb 库使用容器来指定属性。 我需要覆盖 installer_url 属性,因为我的服务器将无法访问互联网,我需要将它们指向本地安装文件。

def installer_url(version)
  "https://download.octopusdeploy.com/octopus/Octopus.#{version}-x64.msi"
end

我需要将此值重写为:

"file:///c:/temp/octopus_server_install.#{version}-x64.msi"

这可以通过某种方式包装社区食谱来实现吗?

通过调用库中的方法在提供程序中引用属性

include OctopusDeploy::Server
...
action :install do
  ...
  install_url = installer_url(new_resource.version)
  ...
end

非常感谢任何帮助。

您将不得不分叉相关代码。