[解決] capistranoでcopy_excludeが動いた


[まとめ] 現在開催中のKindleセール情報はこちら

昨日、capistranoでcopy_excludeが動かない という記事を書きましたが、追加調査を行い無事に解決することができました。

結論:copy_dir の設定が必要

デフォルトだと deploy_via を copy にした場合、/tmp 以下にコピーされるのですが、それだとうまくいかないようです。
デプロイ実行ユーザのホームディレクトリに tmp ディレクトリを作成し、そこを copy_dir で設定することで正しくデプロイできるようになりました。

不要な隠しファイルやscssディレクトリを除きたかったので下記のように設定しました。

# config/deploy.rb

set :deploy_via, :copy
set :copy_dir, "/home/homepage/tmp"
set :copy_exclude,  [".git", "**/.git", ".DS_Store", ".svn", "**/.svn", "**/scss", "public/**/config.rb"]

参考URL

[まとめ] 現在開催中のKindleセール情報はこちら