обычно развертывание через копирование происходит очень медленно.
но copy_cache доступно, только если scm не равно none (синхронизация использует scm)
это означает, что развертывание из рабочей копии может быть сделано только с медленной копией.
Мне удалось найти быструю настройку для развертывания копии из локального репозитория.
Вам все еще нужно локально фиксировать изменения, но не нужно их нажимать.
set :scm, "git"
set :local_repository, "file://."
set :deploy_via, :copy
# cache only seems to work if use scm
set :copy_cache, true
set :copy_via, :scp
set :copy_exclude, [".zeus*", ".bundle", ".git", "tmp/*", "doc", "log/*", "fixtures/*"]
К сожалению, иногда он таинственным образом разрывается с:
fatal: Could not parse object 'c438b9d1242cb311be43d681e3f89bc486d748ed'.`
В идеале должна быть реализована синхронизация локального кэша, даже если для развертывания рабочей копии не используется scm. отличная возможность добавить в Capistrano