Мне нужен net-ssh и net-scp как часть пользовательского рецепта шеф-повара OpsWorks.Установите драгоценный камень из S3 в рецепт шеф-повара OpsWorks
Получение случайных сбоев от rubygems.org, неспособных предоставить драгоценные камни, поэтому я хотел бы разместить их на S3.
chef_gem имеет «источник» аргумент, но он, кажется, требует локального файла существует до повара времени начала (так что я не могу загрузить файл непосредственно перед использованием chef_gem remote_file)
$gemSsh = "#{Chef::Config[:file_cache_path]}/net-ssh.gem"
$gemScp = "#{Chef::Config[:file_cache_path]}/net-scp.gem"
remote_file $gemSsh do
source "https://s3-us-west-2.amazonaws.com/****/net-ssh-2.9.1.gem"
action :nothing
end.run_action(:create)
remote_file $gemScp do
source "https://s3-us-west-2.amazonaws.com/****/net-scp-1.2.1.gem"
action :nothing
end.run_action(:create)
chef_gem "net-ssh" do
action :nothing
source $gemSsh
end.run_action(:install)
chef_gem "net-scp" do
action :nothing
source $gemScp
end.run_action(:install)
(Примечания : run_action (: установка) основана на комментариях здесь https://tickets.opscode.com/browse/CHEF-4843)
Это не может со следующей ошибкой:
NoMethodError
-------------
undefined method `name' for "/var/lib/aws/opsworks/cache.stage2/net-scp.gem":String
Cookbook Trace:
---------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/opsworks_commons/libraries/monkey_patch_rubygems_provider.rb:55:in `install'
/var/lib/aws/opsworks/cache.stage2/cookbooks/****/recipes/default.rb:24:in `from_file'