0

カピストラーノ展開スクリプトを機能させようとしています。展開ファイルには次のものがあります...

set :application, "example.com"
role :app, "root@12.34.56.789"
role :web, "root@12.34.56.789"
role :db,  "root@12.34.56.789", :primary => true

set :user, "root"
set :deploy_to, "/example/www/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false
set :keep_releases, 10

namespace :deploy do
  desc "Tell Passenger to restart the app."
  task :restart do
    run "touch #{current_path}/tmp/restart.txt"
  end

  desc "Symlink shared configs and folders on each release."
  task :symlink_shared do
    run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml"
    run "ln -nfs #{shared_path}/assets #{release_path}/public/assets"
  end

  desc "Sync the public/assets directory."
  task :assets do
    system "rsync -vr --exclude='.DS_Store' public/assets #{user}@#{application}:#{shared_path}/"
  end
end

after 'deploy:update_code', 'deploy:symlink_shared'

また、デプロイ ファイルに github の場所と scm 変数があります。実行するcap deployと問題なく起動し、github プライベート リポジトリのユーザー名/パスワードを要求されます。それを入力します。問題ありません。その後、成功してコードを正しくプルすると、次のようになります...

"if [ -d /example/www/example.com/shared/cached-copy ]; then cd /example/www/example.com/shared/cached-copy && git fetch -q origin && git fetch --tags を実行-q origin && git reset -q --hard 93e3432103327f29a9e66fa2755562bfe9bc4412 && git clean -q -d -x -f; else git clone -q https://github.com/example/example.git /example/www/social u. com/shared/cached-copy && cd /example/www/example.com/shared/cached-copy && git checkout -q -b deploy 93e3432103327f29a9e66fa2755562bfe9bc4412; fi" サーバー: ["12.34.56.789"] パスワード:

そのため、パスワードを要求されます。これはssh用だと思います。root ユーザーのパスワードを入力しましたが、これが表示されません...

    [12.34.56.789] executing command
 ** [12.34.56.789 :: err] Username:

パスワードもまったく入力しないでみましたが、次のようになりました....

Capistrano::ConnectionError、接続に失敗しました (Net::SSH::AuthenticationFailed: root)

キャッチは、正しいsshパスワードを入力していることです...パテを使用して問題なくsshできます。ところで、ローカルの Windows PC で cap deploy を実行していますが、リモート ボックスは Linux ボックスです。もちろん、私の場所は 12.34.56.78 ではありませんが、要点はわかります。解決方法に関するアイデアはありますか?

4

2 に答える 2

1

https ではなく、GitHub の SSH URL を使用する必要があります。

于 2012-09-27T11:37:17.690 に答える
0

ユーザーをrootユーザーではなく変更することでこれを解決できました。

于 2012-09-27T16:26:04.623 に答える