Menu

Category

Archive

logo


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

2015-07-12 12:00:00 +0900
  • このエントリーをはてなブックマークに追加

Rails + Nginx + Unicorn という構成でデプロイ作業を自動化しようと思い、ようやく Capistrano を導入しました。 しかし、Capistranoで、$cap production deploy コマンドを実行し、特にエラーが発生せずに実行完了するにもかかわらず、current に最新のコミットが反映されないという現象でハマったのでメモ。

不要なGit系のファイルの削除

結論から言うと、不要なGit系のファイルを削除することにより、最新のコミットが反映されるようになった。

Capistranoを導入以前は、/home/user_name/apps/each_app のように each_app ディレクトリに Rails アプリのファイルを置いていた。 このディレクトリは Git の管理下にあったのですが、そこでこのディレクトリ配下にある、.git や Capistrano が作成する repo ディレクトリを削除するとこの現象は解決。 (以前は each_app の中から $git pull とかしていた…)

Capistranoを導入して、Nginxのrootを /home/user_name/apps/each_app/current に変更して、わちゃわちゃしていたら無駄にハマってしまった。もっと Git の仕組みとかもしっかりと抑えたい。

参考

CAPISTRANOデプロイ時のトラブルいくつか