2013-10-20 7 views
6

Scheint so, als hätte Capistrano an extensive file transfer package.Capistrano 3.0 Dateiübertragungen?

Allerdings scheint es in der Version 3.0 nach dem Neuschreiben gegangen. Irgendeine Idee, wenn es eine alternative Möglichkeit gibt, Dateien immer noch zu/von Servern zu übertragen?

+0

Es gibt eine 'Download!' Funktion jetzt https://github.com/capistrano/sshkit/blob/v0.0.34/lib/sshkit/backends/netssh.rb # L82 – sguha

Antwort

3

fragte ich darüber im IRC und fand, dass es noch eine Upload-Funktion ist:

on hosts do |host| 
    upload! '/config/database.yml', '/opt/my_project/shared/database.yml' 
end 

https://github.com/leehambley/sshkit/blob/master/EXAMPLES.md Jedoch habe ich noch einen Weg finden, haben Dateien vom Server herunterladen, ohne

rsync oder scp
+0

Haben Sie gesagt, Upload-Funktion funktioniert? –

+0

Ich verwende rsync und scp für Dateiübertragungen –

7

Zum herunterladen:

desc "download foobar.txt into local_dir/" 
task :foobar do 
    download! "some_remote_path/foobar.txt", "local_dir/" 
end 

ich weiß, das funktioniert wie von Cap 3.2.1, wie ich es jetzt bin mit.

+0

Beachten Sie, dass der Remote-Pfad ABSOLUTE, nicht relativ sein muss. (Das gleiche wie das, was Sie eingeben würden, wenn Sie direkt einen 'scp'-Befehl ausführen.) Zum Beispiel können Sie' download! "# {release_path}/Pfad/in/Projekt", "local_dir /" ' –

1

könnten Sie verwenden rsync

run_locally do 
execute"rsync -ah --progress source destination" 
end