2011-12-21 43 views
6

Tôi gặp sự cố với việc triển khai Capistrano. Quá trình triển khai đang bị xóa với lỗi của Gzip.Capistrano gzip: stdin: bất ngờ kết thúc gián đoạn tệp

Có thể là gì?

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 

Trả lời

10

Câu trả lời là ở đây, nếu bạn hoặc những người khác cố gắng triển khai ở địa phương vẫn gặp vấn đề này: http://f3internet.com/articles/2010/06/18/deploying-static-sites-with-capistrano/

Dòng này [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" đang nỗ lực để giải nén và xóa các bản sao tạm thời cùng một lúc.

Giải pháp là để xác định/thư mục bản sao từ xa địa phương trên cùng một máy:

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

tôi thấy rằng chỉ thiết copy_dir là cần thiết, và rằng nó có thể được thực hiện trên dòng lệnh vì vậy tôi không cần sửa đổi các tệp triển khai cho trường hợp cạnh của tôi triển khai cho cùng một máy: cap deploy -s copy_dir = '/ not/tmp' – mmrobins

0

Nói chung thường đây là 1 trong tổng số 3 điều:

  1. xấu/hỏng file gzip
  2. một nỗ lực để giải nén một tập tin theo một cách khác nhau từ cách nó được đóng gói
  3. microsoft dòng kết thúc trong các tệp trong ứng dụng của bạn (\ r \ n)

tiền của tôi là số thứ ba.

Các vấn đề liên quan