月光部署错误

时间:2013-01-21 07:04:53

标签: ruby-on-rails ubuntu deployment capistrano rackspace-cloud

当我尝试使用Moonshine将rails应用程序部署到Rackspace时,出现以下错误:

  * 2013-01-20 22:54:44 executing `app:symlinks:update'
  * 2013-01-20 22:54:44 executing `deploy:create_symlink'
    triggering before callbacks for `deploy:create_symlink'
  * 2013-01-20 22:54:44 executing `moonshine:apply'
  * executing "sudo -p 'sudo password: ' RAILS_ROOT=/srv/appname/releases/20130121065443 DEPLOY_STAGE= RAILS_ENV=production shadow_puppet  /srv/appname/releases/20130121065443/app/manifests/application_manifest.rb"
    servers: ["appname.com"]
    [appname.com] executing command
 ** [out :: appname.com] Uncaught exception: LoadError: cannot load such file -- /srv/appname/releases/20130121065443/app/manifests/application_manifest.rb
 ** [out :: appname.com] 
 ** [out :: appname.com] 
 ** [out :: appname.com] /usr/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
 ** [out :: appname.com] 
 ** [out :: appname.com] 
 ** [out :: appname.com] /usr/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
 ** [out :: appname.com] 
 ** [out :: appname.com] 
 ** [out :: appname.com] /usr/lib/ruby/gems/1.9.1/gems/shadow_puppet-0.6.2/bin/shadow_puppet:130:in `<top (required)>'
 ** [out :: appname.com] 
 ** [out :: appname.com] 
 ** [out :: appname.com] /usr/bin/shadow_puppet:19:in `load'
 ** [out :: appname.com] 
 ** [out :: appname.com] 
 ** [out :: appname.com] /usr/bin/shadow_puppet:19:in `<main>'
 ** [out :: appname.com] 
    command finished in 2569ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /srv/appname/releases/20130121065443; true"
    servers: ["appname.com"]
    [appname.com] executing command
    command finished in 364ms
failed: "sh -c 'sudo -p '\\''sudo password: '\\'' RAILS_ROOT=/srv/appname/releases/20130121065443 DEPLOY_STAGE= RAILS_ENV=production shadow_puppet  /srv/appname/releases/20130121065443/app/manifests/application_manifest.rb'" on appname.com

我该如何解决这个问题? 如果您不知道如何修复它,那么有哪些其他宝石可以帮助我将我的应用程序部署到Rackspace。

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。 Capistrano从git中提取源代码,我忘了推送新代码。这意味着,application_manifest.rb在服务器上不存在。推后,它运作得很好。