Capistrano部署Rails 3应用程序失败

时间:2011-08-16 15:03:55

标签: ruby-on-rails capistrano

我在本地运行命令

> cap deploy:setup

和Capistrano成功创建了远程目录(releases /,shared /)。但是当我发出deploy命令时,我收到以下错误:

bash-3.2# cap deploy    
  * executing `deploy'
  * executing `deploy:update'
 ** transaction: start
  * executing `deploy:update_code'
    updating the cached checkout on all servers
    executing locally: "git ls-remote git@github.com:username/example.git master"
    command finished in 3425ms
  * executing "if [ -d /srv/www/example.com/example/shared/cached-copy ]; then cd /srv/www/example.com/example/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 45c2bb2c2725176e86ccd55add53a25084053342 && git submodule -q init && for mod in `git submodule status | awk '{ print $2 }'`; do git config -f .git/config submodule.${mod}.url `git config -f .gitmodules --get submodule.${mod}.url` && echo Synced $mod; done && git submodule -q sync && git submodule -q update --init --recursive && git clean -q -d -x -f; else git clone -q git@github.com:panayi/example.git /srv/www/example.com/example/shared/cached-copy && cd /srv/www/example.com/example/shared/cached-copy && git checkout -q -b deploy 45c2bb2c2725176e86ccd55add53a25084053342 && git submodule -q init && git submodule -q sync && git submodule -q update --init --recursive; fi"
    servers: ["example.com"]
Password: 
    [example.com] executing command
 ** [example.com :: out] No submodule mapping found in .gitmodules for path 'example.com'
    command finished in 5732ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /srv/www/example.com/example/releases/20110816145830; true"
    servers: ["example.com"]
    [example.com] executing command
    command finished in 331ms
failed: "sh -c 'if [ -d /srv/www/example.com/example/shared/cached-copy ]; then cd /srv/www/example.com/example/shared/cached-copy && git fetch -q origin && git fetch --tags -q origin && git reset -q --hard 45c2bb2c2725176e86ccd55add53a25084053342 && git submodule -q init && for mod in `git submodule status | awk '\\''{ print $2 }'\\''`; do git config -f .git/config submodule.${mod}.url `git config -f .gitmodules --get submodule.${mod}.url` && echo Synced $mod; done && git submodule -q sync && git submodule -q update --init --recursive && git clean -q -d -x -f; else git clone -q git@github.com:panayi/example.git /srv/www/example.com/example/shared/cached-copy && cd /srv/www/example.com/example/shared/cached-copy && git checkout -q -b deploy 45c2bb2c2725176e86ccd55add53a25084053342 && git submodule -q init && git submodule -q sync && git submodule -q update --init --recursive; fi'" on example.com

1 个答案:

答案 0 :(得分:1)

我怀疑这是你设置git repo的方式的结果。

这里出错:

 No submodule mapping found in .gitmodules

阅读本文:

No submodule mapping found in .gitmodule for a path that's not a submodule

和此:

Git - how to track untracked content?

按照说明进行操作,然后重试。

相关问题