capistrano/docs/documentation/advanced-features/remote-file/index.markdown

799 B

title layout
Remote file task default

Warning: remote_file is deprecated and will be removed in Capistrano 3.7.0

The remote_file task is allowing the existence of a remote file to be set as a prerequisite. These tasks can in turn depend on local files if required. In this implementation, the fact that we're dealing with a file in the shared path is assumed.

As an example, this task can be used to ensure that files to be linked exist before running the check:linked_files task:

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