Re: [capistrano-mailing-list] Trying to write a task to distribute files from a remote server to a group of other remote servers
Thanks for the response. Can SSHkit be installed (I'm not the sysadmin) without breaking the existing Cap v2 installation? We have a lot of stuff depending on the latter. Steve On Monday, June 1, 2015 at 5:16:48 PM UTC-4, Lee Hambley wrote: I'd drop Capistrano and use SSHKit, the underlying driver in Capistrano v3 (your example is v2) - see https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#upload-a-file-from-disk and https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#using-with-rake Combine those two to recreate what you have above, and mix in some https://github.com/capistrano/sshkit#tunneling-and-other-related-ssh-themes to make sure that you can reach the hosts as you need to, and I think you'll be fine. SSH is probably hanging because your process is hanging onto some resources, that can often be solved by tunneling and/or remotely starting thigns with `ssh me@thehost 'thecommand'`, for example. Hard to say without more info. But, I'd absolutely avoid using Cap v2 if you're starting out, it's more than two years since EOL, but very widely documented/blogged about in the net. Lee Hambley http://lee.hambley.name/ +49 (0) 170 298 5667 -- You received this message because you are subscribed to the Google Groups Capistrano group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/5f783b69-4e0e-4d20-8c05-ea09cd5f56f6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [capistrano-mailing-list] Trying to write a task to distribute files from a remote server to a group of other remote servers
SSHKit belongs on the client machines driving the SSH connection, not on the servers to which you connect. If you're running SSHKit *on* a server, along side Capistrano (also not typically installed on servers) then it'll be fine. Various versions of Capistrano 3 have various requirements on various version of SSHKit, but Capistrano two is unaware of SSHKit and it will not interfere. Lee Hambley http://lee.hambley.name/ +49 (0) 170 298 5667 On 2 June 2015 at 16:03, Steve Wechsler swechs...@gmail.com wrote: Thanks for the response. Can SSHkit be installed (I'm not the sysadmin) without breaking the existing Cap v2 installation? We have a lot of stuff depending on the latter. Steve On Monday, June 1, 2015 at 5:16:48 PM UTC-4, Lee Hambley wrote: I'd drop Capistrano and use SSHKit, the underlying driver in Capistrano v3 (your example is v2) - see https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#upload-a-file-from-disk and https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#using-with-rake Combine those two to recreate what you have above, and mix in some https://github.com/capistrano/sshkit#tunneling-and-other-related-ssh-themes to make sure that you can reach the hosts as you need to, and I think you'll be fine. SSH is probably hanging because your process is hanging onto some resources, that can often be solved by tunneling and/or remotely starting thigns with `ssh me@thehost 'thecommand'`, for example. Hard to say without more info. But, I'd absolutely avoid using Cap v2 if you're starting out, it's more than two years since EOL, but very widely documented/blogged about in the net. Lee Hambley http://lee.hambley.name/ +49 (0) 170 298 5667 -- You received this message because you are subscribed to the Google Groups Capistrano group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/5f783b69-4e0e-4d20-8c05-ea09cd5f56f6%40googlegroups.com https://groups.google.com/d/msgid/capistrano/5f783b69-4e0e-4d20-8c05-ea09cd5f56f6%40googlegroups.com?utm_medium=emailutm_source=footer . For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Capistrano group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/CAN_%2BVLV5VanW9kzwuK5sLurfYC35PV0CEEHu-zdF4hWT%2BNDccw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
Re: [capistrano-mailing-list] Trying to write a task to distribute files from a remote server to a group of other remote servers
I'd drop Capistrano and use SSHKit, the underlying driver in Capistrano v3 (your example is v2) - see https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#upload-a-file-from-disk and https://github.com/capistrano/sshkit/blob/master/EXAMPLES.md#using-with-rake Combine those two to recreate what you have above, and mix in some https://github.com/capistrano/sshkit#tunneling-and-other-related-ssh-themes to make sure that you can reach the hosts as you need to, and I think you'll be fine. SSH is probably hanging because your process is hanging onto some resources, that can often be solved by tunneling and/or remotely starting thigns with `ssh me@thehost 'thecommand'`, for example. Hard to say without more info. But, I'd absolutely avoid using Cap v2 if you're starting out, it's more than two years since EOL, but very widely documented/blogged about in the net. Lee Hambley http://lee.hambley.name/ +49 (0) 170 298 5667 On 1 June 2015 at 21:07, Steve Wechsler swechs...@gmail.com wrote: Versions: - Ruby 1.8.7 - Capistrano v2.5.5 - Rake / Rails / etc Platform: - CentOS/Red Hat I'm trying to write a task (to be called from a Perl script) that will work on any Linux host in my environment. However, since there is only one host that can SSH to every other host (it can also receive SSH connections from any host), and I can't guarantee that the task will be running on that host, I need to find a way to run the task on that host. Here's what I came up with so far: set :user, usr cmd = getpass + user set :password, `#{cmd}` task :distribute, :on_error = :continue do host_list = hosts.split(',') servers = [] host_list.each do |n| servers.push([n]) end filelist=files.split(',') filelist.each do |f| upload f, target_dir, { :via = :scp, :hosts = servers, :on_error = :continue } end end to be invoked like this: /usr/bin/cap -f distribute_file.rb -S usr=user_to_run_as -s target_dir=/path/to/target -s files=/path/to/source_file -s hosts=(list of hosts) HOST=master_host but that caused it to only run against master_host So then I tried executing it with SSH, but that had a tendency to hang, plus it seemed to me like there should be a built-in method for this. I'm a Perl guy and am new to both Ruby and capistrano, so please be gentle :) Thanks. -- You received this message because you are subscribed to the Google Groups Capistrano group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/5014b7b3-78f4-44ed-9099-6fce08743222%40googlegroups.com https://groups.google.com/d/msgid/capistrano/5014b7b3-78f4-44ed-9099-6fce08743222%40googlegroups.com?utm_medium=emailutm_source=footer . For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups Capistrano group. To unsubscribe from this group and stop receiving emails from it, send an email to capistrano+unsubscr...@googlegroups.com. To view this discussion on the web, visit https://groups.google.com/d/msgid/capistrano/CAN_%2BVLVYF40sCNDpeaSFzj%2BiHuf833h95CMG4_3PhYLZaPkmXQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.