Gemfile.lockがないだって!?
カッコつけてキーボードを
bundle exec cap staging deploy
とか叩きつけると以下のように怒られちゃいます。
The --deployment flag requires a Gemfile.lock. Please make sure you
have checked your Gemfile.lock into version control before deploying.
Gemfile.lockを監視対象に入れろと言われてしまいます。
ですが.gitignoreのどこを見ても除外対象にはしていないわけです。これは困ったね。
原因:vagrantを使用していてリポジトリのルートとアプリのルートが一致してないかった
githubでもbitbucketでもいいですが、リポジトリを確認してみるとうっかりちゃっかりこんな感じになってませんか?
.chef
vagrant
├.capistrano
├app
├assets
└......
.gitignore
アプリのルートがvagrant/であると教えてあげる必要があります。
capistrano3.1以降だとワンライナーで書けてしまうようです。
set :repo_tree, 'vagrant'
自分の場合dotenvを使用してrepourlを指定しているので、以下のように。
require 'dotenv'
Dotenv.load
lock '3.3.5'
set :repo_url, ENV['REPO_URL']
set :repo_tree, 'vagrant'
盲点タイプのハマりどころで検索しても全くヒットしないので(自分のためにも)書き記しておきます。