unosquare/sshdeploy

Use rsync where available

daveyostcom opened this issue · 4 comments

Invoking the rsync command when available (on both source and destination), would make transfers 100x faster. Rsync copies only the portions of files that have changed and can be directed to delete all files not wanted on the destination.

Sounds like a good idea!

Something like this:

project=Thingy
cd $project
bin=bin/Debug/netcoreapp2.2/linux-arm
dest=pi@pi.local:deployments/$project
chmod +x $bin/$project
rsync -a --progress --partial $bin/  $dest
rsync -a --progress --partial pathToOtherStuff/  $dest

This seems to work fine for me on my Mac with dotnet installed via brew:

project=Thingy
cd $project
bin=bin/Debug/netcoreapp2.2/linux-arm/publish/
dest=pi@pi.local:deployments/$project
dotnet publish
chmod +x $bin/$project
rsync -a --delete  $bin/  $dest

Other rsync arguments that can be useful are:

 --progress
 --partial
stale commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.