В Capistrano 3 Docs (http://capistranorb.com/documentation/advanced-features/remote-file/) пример приведен, чтобы показать, как эта задача (remote_file) работаетremote_file Capistrano 3 Метод
namespace :deploy do
namespace :check do
task :linked_files => 'config/newrelic.yml'
end
end
remote_file 'config/newrelic.yml' => '/tmp/newrelic.yml', roles: :app
file '/tmp/newrelic.yml' do |t|
sh "curl -o #{t.name} https://rpm.newrelic.com/accounts/xx/newrelic.yml"
end
Они говорят, что позволяет наличие удаленного файла, который будет установлен в качестве предварительного условия. Hovewer Я все еще не могу понять, как он работает, поскольку файл remote_file вызывается внешним кодом задачи. Что это на самом деле? Может кто-нибудь объяснить?
Что произойдет, если config/newrelic.yml отсутствует и как вызов удаленного_файла связан с : linked_files task?
Кажется ясным, за исключением того, что имя задачи задано как /tmp/newrelic.yml и выглядит как путь к файлу? Содержимое данного файла содержит код задачи? – antiplayer
Вам нужно будет прочитать о задачах Rake-файла, которые использует файл remote_file. Задачи файла являются особенными в том, что они ожидают, что их имя будет иметь путь к файлу, который будет работать. Вот хорошее сообщение в блоге, объясняющее это http://madewithenvy.com/ecosystem/articles/2013/rake-file-tasks/ – davekaro
Thanx для уточнения! – antiplayer