AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

Capistrano3でデプロイ時に更新が反映されない

なんだよこのレアケース!っていうやつ。

今回ハマったケース

  1. bundle exec cap {STAGE} deployする
  2. あるGemがインストールできなくて、デプロイ先のbundle installが失敗しまくってた
  3. Gemfile.lockをアップデートして問題解消したのを確認した
  4. git pushして、問題のプロジェクトのGemfile.lockを更新
  5. git pullして更新落ちてきたのを見届けて、再度deployを投げると何故か2.と同じエラーが出る
  6. Gemfile.lockを見ると更新されてない

解決方法

deploy先の/path/to/app/以下のディレクトリのうち、Capistranoが自動作成するディレクトリを全部消した。 (多分/path/to/app/repo/消せば解決する気はする。)

なぜ起こったのか

コレガワカラナイ。 中途半端にタスクが消化されて、/path/to/app/以下に残ってた情報が悪さしてたのかもしれん。 ディレクトリ消すときに、sharedとかreleaseも消しちゃうと問題になるので、repo消すだけでも大丈夫かもしんない。

Capistranoで最新のコミットが反映されない