Hey guys,

So here's the deal...
I'm trying to deploy an app on EC2 using the EC2onRails gem....
I'm using git as my SCM and capistrano to deploy obviously...

Everytime I try to deploy with this command: cap deploy:cold, I get
the following error output on my terminal window:

bas1-stlambert20-1178037070:snaproof exponenth$ cap deploy:cold
  * executing `deploy:cold'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    updating the cached checkout on all servers
    executing locally: "git ls-remote g...@github.com:lpdahito/
snaproof.git master"
  * executing "if [ -d /mnt/app/shared/cached-copy ]; then cd /mnt/app/
shared/cached-copy && git fetch -q origin && git reset -q --hard
d5b088e509dcc4b476836b5bab0203ce5d4618f9; else git clone -q
g...@github.com:lpdahito/snaproof.git /mnt/app/shared/cached-copy &&
cd /mnt/app/shared/cached-copy && git checkout -q -b deploy
d5b088e509dcc4b476836b5bab0203ce5d4618f9; fi"
    servers: ["ec2-75-101-235-89.compute-1.amazonaws.com"]
    [ec2-75-101-235-89.compute-1.amazonaws.com] executing command
 ** [ec2-75-101-235-89.compute-1.amazonaws.com :: out] Permission
denied (publickey).
 ** [ec2-75-101-235-89.compute-1.amazonaws.com :: out] fatal: The
remote end hung up unexpectedly
 ** [ec2-75-101-235-89.compute-1.amazonaws.com :: out] fetch-pack from
'g...@github.com:lpdahito/snaproof.git' failed.
    command finished
*** [deploy:update_code] rolling back
  * executing "rm -rf /mnt/app/releases/20090531003111; true"
    servers: ["ec2-75-101-235-89.compute-1.amazonaws.com"]
    [ec2-75-101-235-89.compute-1.amazonaws.com] executing command
    command finished
failed: "sh -c \"if [ -d /mnt/app/shared/cached-copy ]; then cd /mnt/
app/shared/cached-copy && git fetch -q origin && git reset -q --hard
d5b088e509dcc4b476836b5bab0203ce5d4618f9; else git clone -q
g...@github.com:lpdahito/snaproof.git /mnt/app/shared/cached-copy &&
cd /mnt/app/shared/cached-copy && git checkout -q -b deploy
d5b088e509dcc4b476836b5bab0203ce5d4618f9; fi\"" on
ec2-75-101-235-89.compute-1.amazonaws.com


If you're looking for my capistrano recipe, here it is:

# This is a sample Capistrano config file for EC2 on Rails.
# It should be edited and customized.

set :application, "snaproof"

set :scm, "git"
set :repository, "g...@github.com:lpdahito/snaproof.git"
set :scm_passphrase, ""
set :user, "Louis-Pierre Dahito"
ssh_options[:forward_agent] = true
set :branch, "master"
set :deploy_via, :remote_cache
default_run_options[:pty] = true


# NOTE: for some reason Capistrano requires you to have both the
public and
# the private key in the same folder, the public key should have the
# extension ".pub".
ssh_options[:keys] = ["#{ENV['HOME']}/.ec2/lpdahito.pem"]

# Your EC2 instances. Use the ec2-xxx....amazonaws.com hostname, not
# any other name (in case you have your own DNS alias) or it won't
# be able to resolve to the internal IP address.
role :web,      "ec2-75-101-235-89.compute-1.amazonaws.com"
role :app,      "ec2-75-101-235-89.compute-1.amazonaws.com"
role :memcache, "ec2-75-101-235-89.compute-1.amazonaws.com"
role :db,       "ec2-75-101-235-89.compute-1.amazonaws.com", :primary
=> true
# role :db,       "ec2-56-xx-xx-
xx.z-1.compute-1.amazonaws.com", :primary => true, :ebs_vol_id =>
'vol-12345abc'
# optinally, you can specify Amazon's EBS volume ID if the database is
persisted
# via Amazon's EBS.  See the main README for more information.

# Whatever you set here will be taken set as the default RAILS_ENV
value
# on the server. Your app and your hourly/daily/weekly/monthly scripts
# will run with RAILS_ENV set to this value.
set :rails_env, "production"

# EC2 on Rails config.
# NOTE: Some of these should be omitted if not needed.
set :ec2onrails_config, {
  # S3 bucket and "subdir" used by the ec2onrails:db:restore task
  # NOTE: this only applies if you are not using EBS
  :restore_from_bucket => "your-bucket",
  :restore_from_bucket_subdir => "database",

  # S3 bucket and "subdir" used by the ec2onrails:db:archive task
  # This does not affect the automatic backup of your MySQL db to S3,
it's
  # just for manually archiving a db snapshot to a different bucket
if
  # desired.
  # NOTE: this only applies if you are not using EBS
  :archive_to_bucket => "your-other-bucket",
  :archive_to_bucket_subdir => "db-archive/#{Time.new.strftime('%Y-%m-
%d--%H-%M-%S')}",

  # Set a root password for MySQL. Run "cap
ec2onrails:db:set_root_password"
  # to enable this. This is optional, and after doing this the
  # ec2onrails:db:drop task won't work, but be aware that MySQL
accepts
  # connections on the public network interface (you should block the
MySQL
  # port with the firewall anyway).
  # If you don't care about setting the mysql root password then
remove this.

  # Any extra Ubuntu packages to install if desired
  # If you don't want to install extra packages then remove this.
  :packages => ["logwatch", "imagemagick"],

  # Any extra RubyGems to install if desired: can be "gemname" or if
a
  # particular version is desired "gemname -v 1.0.1"
  # If you don't want to install extra rubygems then remove this
  # NOTE: if you are using rails 2.1, ec2onrails calls 'sudo rake
gem:install',
  # which will install gems defined in your rails configuration
  :rubygems => ["rmagick", "rfacebook -v 0.9.7"],

  # extra security measures are taken if this is true, BUT it makes
initial
  # experimentation and setup a bit tricky.  For example, if you do
not
  # have your ssh keys setup correctly, you will be locked out of your
  # server after 3 attempts for upto 3 months.
  :harden_server => false,

  #if you want to harden the server, or setup email signing, you will
need to set the domain
  #if you use Capistrano's multistage extension (recommended!), you
can add a line like this to your
  #environment specific file:
  #      ec2onrails_config[:service_domain] = 'staging.mydomain.com'
  :service_domain => nil,

  # Set the server timezone. run "cap -e
ec2onrails:server:set_timezone" for
  # details
  :timezone => "UTC",

  # Files to deploy to the server (they'll be owned by root). It's
intended
  # mainly for customized config files for new packages installed via
the
  # ec2onrails:server:install_packages task. Subdirectories and files
inside
  # here will be placed in the same structure relative to the root of
the
  # server's filesystem.
  # If you don't need to deploy customized config files to the server
then
  # remove this.
  :server_config_files_root => "../server_configs",

  # If config files are deployed, some services might need to be
restarted.
  # If you don't need to deploy customized config files to the server
then
  # remove this.
  :services_to_restart => %w(postfix sysklogd),

  # Set an email address to forward admin mail messages to. If you
don't
  # want to receive mail from the server (e.g. monit alert messages)
then
  # remove this.
  :mail_forward_address => "lp.dah...@gmail.com",

  # Set this if you want SSL to be enabled on the web server. The SSL
cert
  # and key files need to exist on the server, The cert file should be
in
  # /etc/ssl/certs/default.pem and the key file should be in
  # /etc/ssl/private/default.key (see :server_config_files_root).
  :enable_ssl => true
}

I just don't know what I'm doing wrong !!!! Wasn't I be supposed to
deploy my app in 5 minutes lol...

Please someone I need help !

Thx

Louis-Pierre

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to