Capistrano gzip:stdin:意外结束文件中断

时间:2011-12-21 13:12:43

标签: ruby-on-rails ruby capistrano

我遇到了Capistrano部署的问题。部署过程正在被丢弃,错误是Gzip。

它有什么用?

 cap flow deploy 

* executing `flow' 
* executing `deploy' 
* executing `deploy:update' 
** transaction: start 
* executing `deploy:update_code' 
* getting (via checkout) 
revision to /tmp/20111214204507 
executing locally: cp -R . /tmp/20111214204507 
c    ommand finished in 413ms 
compressing /tmp/20111214204507 to /tmp/20111214204507.tar.gz 
executing locally: tar chzf 20111214204507.tar.gz 20111214204507 
command finished in 2419ms 
servers: ["10.11.10.10"] 
Password: ** sftp upload /tmp/20111214204507.tar.gz -> /tmp/20111214204507.tar.gz 
[10.11.10.10] /tmp/20111214204507.tar.gz 
[10.11.10.10] done * sftp upload complete * executing "cd /home/tieto/dvs_production/releases && tar xzf /tmp/20111214204507.tar.gz && rm /tmp/20111214204507.tar.gz" 
servers: ["10.11.10.10"] 
[10.11.10.10] executing command 
[err :: 10.11.10.10] 
[err :: 10.11.10.10] gzip: 
[err :: 10.11.10.10] stdin: unexpected end of file 
[err :: 10.11.10.10] tar: 
[err :: 10.11.10.10] Child returned status 1 
[err :: 10.11.10.10] 
[err :: 10.11.10.10] tar: 
[err :: 10.11.10.10] Error exit delayed from previous errors 
[err :: 10.11.10.10] 
command finished in 62ms 
[deploy:update_code] rolling back * executing "rm -rf /home/flow/production/releases/20111214204507; true" 
servers: ["10.11.10.10"] 
[10.11.10.10] executing command 
command finished in 69ms 
failed: "sh -c 'cd /home/flow/production/releases && tar xzf /tmp/20111214204507.tar.gz && rm /tmp/20111214204507.tar.gz'" on 10.11.10.10

2 个答案:

答案 0 :(得分:10)

答案是,如果您或其他人尝试本地部署仍然遇到此问题: http://f3internet.com/articles/2010/06/18/deploying-static-sites-with-capistrano/

此行[10.11.10.10] done * sftp upload complete * executing "cd /home/tieto/dvs_production/releases && tar xzf /tmp/20111214204507.tar.gz && rm /tmp/20111214204507.tar.gz"正在尝试同时解压缩并删除临时副本。

解决方案是在同一台机器上定义本地/远程复制目录:

set :copy_dir, "/home/#{local_user}/tmp"
set :remote_copy_dir, "/tmp"

答案 1 :(得分:0)

一般来说,这通常是3件事之一:

  1. 糟糕/损坏的gzip文件
  2. 尝试以与打包方式不同的方式提取文件
  3. microsoft行在应用程序的文件中结束(\ r \ n)
  4. 我的钱是第三个。