2011-12-21 14 views
6

私はCapistranoの展開に問題があります。展開プロセスがGzipのエラーで削除されています。Capistrano gzip:stdin:予期せぬファイルの中断

何ができますか?一般的に

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 

答えて

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

私だけcopy_dirを設定することが必要であることがわかった、と私は必要はありませんでしたので、それは、コマンドライン上で行うことができること同じマシンにデプロイする場合のデプロイメントファイルを変更する:deploy -c copy_dir = '/ not/tmp' – mmrobins

0

通常これは、1〜3のものである:

  1. 悪い/壊れたgzipファイル
  2. マイクロソフト
  3. それがパッケージ化された方法とは異なる方法でファイルを抽出しようアプリ内のファイル内で終了します(\ r \ n)

私のお金は3番目にあります。

関連する問題