No commit activity in last 3 years
No release in over 3 years
Use rsync as a deployment strategy for your capistrano3 deployments
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

Capistrano Deployment with Rsync

Ideal to transfer a built static directory (like a angular-js single page app) and have in the remote machine, the typical releases directory. Specially, handy if you have lots of bower_components, and/or your build process take some time, and you don't want to let the remote machine take charge of it.

On each deploy, it will not re-copy all of it again (and thus saving time and bandwidth), but it will use rsync to transfers modifications. However, it takes care of not loosing previous releases on the remote machine. Therefore, you can rollback immediately!

In your local machine, the directory to deploy is ./dist.

It uses git only for knowing in which revision you are I suggest your local development is git versioned. Open an issue if you wish to get independent of git, and we may chat about how to achieve it.

Installation

In yours gems file of your capify project, add

    gem 'capistrano-deploy-rsync'

And then execute

    bundle install

Configuration

Make sure, you set

    set :git_strategy, Capistrano::Git::RsyncStrategy

Contributing

In its current way it helps me, however, small tweaks are need it to make it more comfortable and adaptable.

Feel free to do some pull requesta or open an issue.