2011-07-01 4 views
2

capistranoデプロイメントのgem依存関係に微妙な問題が発生しましたが、capistranoの起動方法を徹底したいと思います。bundle execを使用してcapデプロイメントを呼び出さなかった場合のエラーの発生方法

bundle exec cap app deploy 

そしてませんが、これを好き:

は、どのように私はカピストラーノはこのような「バンドルのexec」を使用して呼び出されたことを検出することができ、私は後者の場合にはエラーが発生したい

cap app deploy 

私のdeploy.rbファイルの先頭で呼び出しの方法を検出することによって、

答えて

7

実行可能ファイルを実行するときに、Bundlerが$ BUNDLE_BIN_PATH環境変数と$ BUNDLE_GEMFILE環境変数を設定しているようです。たとえば、次のようにします。

env >/tmp/1 
bundler exec env >/tmp/2 
diff -u /tmp/[12] 

環境に違いが表示されます。このことができます

abort "You must run this using 'bundle exec ...'" unless ENV['BUNDLE_BIN_PATH'] || ENV['BUNDLE_GEMFILE'] 

希望:

だから、あなたの展開スクリプトでは、あなたはこのような何かを行うことができます。

+0

はい、これは本当にうまく動作します。ありがとう! –

関連する問題