Class: Capistrano::Deploy::Strategy::RemoteCache

Inherits:
Remote
  • Object
show all
Defined in:
lib/capistrano/recipes/deploy/strategy/remote_cache.rb

Overview

Implements the deployment strategy that keeps a cached checkout of the source code on each remote server. Each deploy simply updates the cached checkout, and then does a copy from the cached copy to the final deployment location.

Direct Known Subclasses

UnsharedRemoteCache

Instance Attribute Summary

Attributes inherited from Base

#configuration

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Capistrano::Deploy::Strategy::Base

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Capistrano::Deploy::Strategy::Base

Instance Method Details

#check!Object



19
20
21
22
23
24
# File 'lib/capistrano/recipes/deploy/strategy/remote_cache.rb', line 19

def check!
  super.check do |d|
    d.remote.command("rsync") unless copy_exclude.empty?
    d.remote.writable(shared_path)
  end
end

#deploy!Object

Executes the SCM command for this strategy and writes the REVISION mark file to each host.



14
15
16
17
# File 'lib/capistrano/recipes/deploy/strategy/remote_cache.rb', line 14

def deploy!
  update_repository_cache
  copy_repository_cache
end