Путем я решил это с помощью двух RESSOURCES:
1) крепление для монтирования удаленного каталога
2) remote_directory от точки крепления до точки локального
Обратите внимание, что Ressource оповещает монтаж чтобы размонтировать в конце шеф-повара, чтобы избежать точек монтирования на серверах.
Ex с удаленным файлом:
share = File::dirname(node['firefox']['http_url'])
filename = File::basename(node['firefox']['http_url'])
ENV['tmpdrive'] = "Z:"
mount "Z:" do
action :mount
device share
username "my_user"
domain "my_domain"
password "xxxxxx"
notifies :umount, "mount[Z:]"
end
# Wrokaround sous win2k3
# batch "copy firefox source" do
# command %Q{xcopy /YZE "Z/#{filename}" "#{ENV['TEMP']}/#{filename}"}.gsub(::File::SEPARATOR, ::File::ALT_SEPARATOR)
# notifies :umount, "mount[Z:]", :immediately
# end
remote_file "#{ENV['TEMP']}/#{filename}" do
source "file:///z:/#{filename}"
notifies :umount, "mount[Z:]", :immediately
end
Это не кажется напрямую связанно с шефом-поваром. – coderanger
Вы запустили команду вручную? Что-то вроде 'xcopy \\ remote-box \ tmp \ something \ * C: \ temp/s/e' отлично действует, поэтому ваш рецепт шеф-повара неожиданно может использовать символ \ как escape-символ –
@castling. да, я пробовал вручную, и это сработало. Когда я пытаюсь в Шеф-поваре, я не могу это сделать. –