【发布时间】:2015-09-03 14:09:10
【问题描述】:
我正在使用厨师食谱安装几个 rpm,问题是 rpm 的来源,因为我无法将它们放在 yum 存储库中。我可以使用厨师服务器作为 rpm 的来源吗?在这种情况下,我如何在配方中指定来源。 不知何故,没有关于源代码可用选项的详细信息...
【问题讨论】:
标签: ruby chef-infra
我正在使用厨师食谱安装几个 rpm,问题是 rpm 的来源,因为我无法将它们放在 yum 存储库中。我可以使用厨师服务器作为 rpm 的来源吗?在这种情况下,我如何在配方中指定来源。 不知何故,没有关于源代码可用选项的详细信息...
【问题讨论】:
标签: ruby chef-infra
sourceRuby 类型:字符串可选。本地文件系统中包的路径。
所以最好的办法是使用remote_file 和package 像这样:
remote_file '/usr/local/src/my_package.rpm' do
source 'http://any_internal_web_server/path/my_package.rpm'
end
package 'my_package.rpm' do
source '/usr/local/src/my_package.rpm'
end
您也可以使用cookbook_file 并将您的包放入cookbook,但通常建议避免在VCS(svn、git、mercurial 等)中存储大型二进制文件。此外,它也会存储在 Chef Server 上。
【讨论】:
/var/chef/cache/cookbook 和目标cookbook_file 上会有一个rpm 的副本。 (而且我不希望进入棘手的延迟加载/从缓存中获取)