カピストラーノ展開スクリプトを機能させようとしています。展開ファイルには次のものがあります...
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 ではありませんが、要点はわかります。解決方法に関するアイデアはありますか?