2019/01/19 追記
現時点だと、以下の方法でよいかと思います。
たとえば、config/deploy/production.rb
の内容は以下のようになります。
set :stage, :production set :branch, :master set :deploy_to, "/KOKONI/DEPLOY/SHIMASU" set :sshkit_backend, SSHKit::Backend::Local server 'localhost'
したがって、以下の内容は非推奨になります。
結論
1. capistrano-scm-copy をインストールする
まずcapistrano-scm-copy
というgem
をインストールします。
$ gem install capistrano-scm-copy
2. Capfile で capistrano/copy を require する
Capfile
の中でrequire 'capistrano/copy'
します。
記載する場所はrequire "capistrano/deploy"
より下でないとLoadError: cannot load such file -- capistrano/copy
と怒られるので注意です。
3. deploy.rb に set :scm, :copy と書く
deploy.rb
のscm
の指定では、set :scm, :copy
と書きましょう。
4. cap production deploy する
あとは$ cap production deploy
などとするだけです。
もちろんdeploy.rb
にset :deploy_to, '/var/tmp/foobar'
と書いたりしないとダメですが、そこは今回の本質ではないので省略しています。
参考
ここまで書いたことで不足していることの詳細は以下の記事に大変詳しくまとまっています*1。
補足
今の Capistrano だと以下のように deprecated と言われます。詳しい状況については Issue にも上がっています。
[Deprecation Notice] `set :scm, :copy` is deprecated. To ensure this custom SCM will work with future versions of Capistrano, please upgrade it to a version that uses the new SCM plugin mechanism documented here: http://capistranorb.com/documentation/advanced-features/custom-scm
SCM って何の略?
Source Code Management
*1:丸投げです