There's an echo in my head

日々のメモ。

Capistrano2でsharedにシンボリックリンクするディレクトリを追加する

Capistranoではリリース間でファイルを共有するためにいくつかのディレクトリがshared/以下にコピーされ、そちらにシンボリックリンクをはるようになっている。たとえばpublic/assetsとかlogとか。

この仕組は任意のディレクトリに対しても使うことができる。

# config/deploy.rb
set :shared_children, shared_children + %w(path/to/hoge)

こうするとcap deploy:setupしたときにshared/hogeに空ディレクトリが作成され、cap deployしたときにcurrent/path/to/hogeからそちらへとシンボリックリンクが作成される。なお元々あったcurrent/path/to/hogeは削除される。

追記

Capistrano3ではディレクトリ作成の仕組みが変わっているので要注意。

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。