hemant
12/26/2006 1:51:00 AM
On 12/26/06, hemant <gethemant@gmail.com> wrote:
> I want to extend Rake with a method rshell, which would enable anyone
> to execute a command remotely on various UNIX boxes.
>
> Also, if the command asks for input, then remote process's stdin
> should be connected to current processes stdin. So, if the command
> asks for input, user can type it from current machine.
>
> I have looked into Net::SSH, but can't find a reliable way to
> connecting remote processes stdin to current process.
>
> Capastrino does something like this, but not sure how?
>
> I am trying on these lines
>
> module Rake
> class RemoteShell
> attr_accessor :remote_ip,:user,:password,:remote_shell,:channels
> def start_ssh_session
> @channels ||= []
> @channels << Net::SSH.start(@remote_ip,@user,@password)
> end
>
> def r_shell command
> # open a channel and execute the command
> # remote process should be connected to current process stdin
> end
> end
> end
>
I have looked into rake/contrib/sshpublisher . Yet, I wonder, how
methods defined in classes like SshDirPublisher would MIXIN into rake.
Alternately I can simple write the method rshell,but then, I want to
reuse ssh connection for executing other commands also.
So, without polluting Rakefile with those details, ain't it possibly
that all those details could be tucked away in library which extends
Rake?
--
gnufied
-----------
There was only one Road; that it was like a great river: its springs
were at every doorstep, and every path was its tributary.