capistrano を使用して最初の webapp を EC2 にデプロイしようとしていますが、レポは github にあります。しかし、「cap deploy:cold」の問題に直面しています。deploy.rb を以下に貼り付けます。以下は、私が従った手順です。
1) ローカル マシンから ssh を使用して ec2 インスタンスにログインしました。パスフレーズなしで ssh-keygen を使用して生成されたキー。
2) id_rsa.pub の内容を取得し、github リポジトリ設定のデプロイ キーにコピーします。
3) 次に、ローカル マシンから「cap deploy:cold」を実行しました。次のエラーが表示されます
user1@laptop:~/MyExample$ cap deploy:cold * 2013-03-01 19:08:06 deploy:update を実行中 ** transaction: start * 2013-03-01 19:08:06 `deploy:update_code' を実行中ローカルで実行されているすべてのサーバーでキャッシュされたチェックアウトを更新します: "git ls-remote git@github.com:user1/MyExample.git HEAD" Permission denied (publickey)。致命的: リモート エンドが予期せずハングアップ
* [deploy:update_code] ロールバック * "rm -rf /var/www/MyExample.com/releases/20130301133835; true" を実行中 サーバー: ["181.73.124.219"] [181.73.124.219 ] コマンド command を実行中 1186ms で終了deploy:cold'
* 2013-03-01 19:08:06 executing
set :application, "MyExample.com" set :scm, "git" set :repository, "git@github.com:thisuser/example.git"
default_run_options[:pty] = true
set :user, 'ubuntu' set :use_sudo, true set :deploy_to, "/var/www/#{application}" set :deploy_via, :remote_cache
役割:web、「181.73.124.219」役割:アプリ、「181.73.124.219」役割:db、「181.73.124.219」、:primary => true
「deploy」の後、「deploy:bundle_gems」、「deploy:bundle_gems」の後、「deploy:restart」
namespace :deploy do task :bundle_gems do run "cd #{deploy_to}/current && bundle install vandor/gems" end task :start do ; タスクの終了 : 停止します。end task :restart, :roles => :app, :except => { :no_release => true } do run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')} " 終了 終了
ここで何が欠けていますか?また、詳細な手順を提供できる URL/ブログへのポインタも役立ちます。
ありがとう。