3

簡単なレシピでカピストラーノをテストします。

$ cap deploy:setup
  * executing `deploy:setup'
  * executing "sudo -p 'sudo password: ' mkdir -p /u/apps/ [..]
    [..]

deploy:setup期待どおりに動作します。

でも

$ cap deploy:check
  * executing `deploy:check'
  * executing "test -d /u/apps/[..]
    [..]

実行するdeploy:checkと、次のエラーが表示されます。

The following dependencies failed. Please check them and try again:
--> You do not have permissions to write to `/u/apps/
[..]
--> `/u/apps/app/shared is not writable [..]

モードではカピストラーノが sudo を使用していないようdeploy:checkです。

理解できません!

ディレクトリ構造全体がdeploy:setupカピストラーノによって問題なく作成されましたか?

カピストラーノが sudo を使用しないのはなぜdeploy:checkですか?

4

2 に答える 2

2

<user>私もこの問題に遭遇し、カピストラーノがグループの下に共有フォルダーを除くすべてのフォルダーを作成していたことが判明しました。サーバーに SSH 接続し、長いリストを作成しls -lます。共有フォルダーに - root - root - と表示されている場合は、フォルダーのアクセス許可を更新する必要があります。

sudo chown <user> shared
sudo chgrp <user> shared
于 2013-03-28T15:49:23.990 に答える
1

私は同じ問題に遭遇しました: 秘訣は、Capistrano を使用しないように明示的に構成することsudoです。ファイルで次
のようにオフにできます。deploy.rb

set :use_sudo, false

sudo を使用する必要がある場合は、コマンドでsudo DSL Action Invocationを使用してはどうでしょうか。

run "#{sudo} apachectl restart"
于 2013-03-05T00:13:50.250 に答える