我想使用Chef Solo执行以下操作(服务器未连接到Internet):
sudo yum install docker-*.rpm
我有以下结构:
cookbooks
└── my-cookbook
└── recipes
├── default.rb
└── docker.rb
我的食谱中有这个:
Dir['docker-*.rpm'].each do |pkg|
rpm_package File.basename(pkg) do
source pkg
end
end
现在,我在哪里放置RPM文件?
答案 0 :(得分:0)
最好的方法是在主机上运行内部Yum存储库,您可以从生产节点访问该存储库。
简单但缓慢/脆弱的方法是将RPM放在files/rpms/
中并使用remote_directory
资源,如:
r = execute "rpm -i #{Chef::Config[:file_cache_path]}/myrpms/*.rpm" do
action :nothing
end
remote_directory "#{Chef::Config[:file_cache_path]}/myrpms" do
source 'rpms'
notifies :run, r, :immediately
end
或类似的东西。