首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Capistrano错误tar:这看起来不像tar归档文件

Capistrano错误tar:这看起来不像tar归档文件
EN

Stack Overflow用户
提问于 2014-01-15 07:53:59
回答 7查看 16.6K关注 0票数 112
代码语言:javascript
复制
 INFO [050fe961] Running mkdir -p /home/rails/rails-
capistrano/releases/20140114234157 on staging-rails
DEBUG [050fe961] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh mkdir -p /home/rails/rails-capistrano/releases/20140114234157 )
 INFO [050fe961] Finished in 0.142 seconds with exit status 0 (successful).
 INFO [2dea2fe5] Running git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 on staging-rails
DEBUG [2dea2fe5] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 )
DEBUG [2dea2fe5]    fatal: Not a valid object name
DEBUG [2dea2fe5]    tar: This does not look like a tar archive
DEBUG [2dea2fe5]    tar: 
DEBUG [2dea2fe5]    Exiting with failure status due to previous errors      

我对两件事感到困惑:

  1. 为什么要在这里运行git archive

git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157

  • Why is tar failing?
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-05-29 23:09:27

我也有同样的问题,直到我意识到我是在从git中拔出不存在的分支。

票数 356
EN

Stack Overflow用户

发布于 2014-05-28 00:55:27

删除app_name/repo也为我修复了这个问题。

票数 19
EN

Stack Overflow用户

发布于 2015-11-17 08:40:24

当要部署的服务器中的存储库混乱时,就会发生这种情况。我们讨论的是Capistrano在默认情况下会放在/var/www/$application/repo中(供其他人参考)的git存储库。

在本例中,它没有本地功能/ |分支,因此在运行git archive feature/Capistrano时,不会向该Capistrano管道输出任何内容。要进行确认,请通过ssh进入服务器,通过cd进入/home/rails/rails-capistrano/repo,然后运行git branch

  1. 它正在运行git archive作为导出所选分支的树的一种方式。Capistrano git archive“将其写出到标准输出”,因此会将其重定向到tar,以便立即将该归档文件解压缩到新的发布目录中。(为什么卡皮斯特拉诺选择这个而不是git结账失败me.)
  2. tar失败,因为它什么都没有收到d:

我可以想到两种可能的解决方案/方法来排除故障:

  • 通过ssh连接到服务器并手动删除repo文件夹(例如,在您的案例中/home/rails/rails-capistrano/repo),如@lugolabs所述
  • 确保服务器的repo使用的是您期望的远程(ssh-in,cd-into-repo/,并运行git remote -v——您可能只需要在deploy中更新您的::repo_url(并删除回购/目录)。
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21126518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档