| Class | Capistrano::Deploy::Strategy::Remote |
| In: |
lib/capistrano/recipes/deploy/strategy/remote.rb
lib/capistrano/recipes/deploy/strategy/remote.rb |
| Parent: | Base |
An abstract superclass, which forms the base for all deployment strategies which work by grabbing the code from the repository directly from remote host. This includes deploying by checkout (the default), and deploying by export.
# File lib/capistrano/recipes/deploy/strategy/remote.rb, line 18
18: def check!
19: super.check do |d|
20: d.remote.command(source.command)
21: end
22: end
# File lib/capistrano/recipes/deploy/strategy/remote.rb, line 18
18: def check!
19: super.check do |d|
20: d.remote.command(source.command)
21: end
22: end
An abstract method which must be overridden in subclasses, to return the actual SCM command(s) which must be executed on each target host in order to perform the deployment.
# File lib/capistrano/recipes/deploy/strategy/remote.rb, line 39
39: def command
40: raise NotImplementedError, "`command' is not implemented by #{self.class.name}"
41: end
An abstract method which must be overridden in subclasses, to return the actual SCM command(s) which must be executed on each target host in order to perform the deployment.
# File lib/capistrano/recipes/deploy/strategy/remote.rb, line 39
39: def command
40: raise NotImplementedError, "`command' is not implemented by #{self.class.name}"
41: end
Runs the given command, filtering output back through the handle_data filter of the SCM implementation.
# File lib/capistrano/recipes/deploy/strategy/remote.rb, line 28
28: def scm_run(command)
29: run(command) do |ch,stream,text|
30: ch[:state] ||= { :channel => ch }
31: output = source.handle_data(ch[:state], stream, text)
32: ch.send_data(output) if output
33: end
34: end
Runs the given command, filtering output back through the handle_data filter of the SCM implementation.
# File lib/capistrano/recipes/deploy/strategy/remote.rb, line 28
28: def scm_run(command)
29: run(command) do |ch,stream,text|
30: ch[:state] ||= { :channel => ch }
31: output = source.handle_data(ch[:state], stream, text)
32: ch.send_data(output) if output
33: end
34: end