2011-12-21 31 views
6

Tengo un problema con la implementación de Capistrano. El proceso de implementación se está descartando con el error de Gzip.Capistrano gzip: stdin: interrupción inesperada al final del archivo

¿Qué puede ser?

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 

Respuesta

10

La respuesta es en el presente documento, si está o otros intentando una implementación local sigue teniendo este problema: http://f3internet.com/articles/2010/06/18/deploying-static-sites-with-capistrano/

Esta línea [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" está tratando de descomprimir y eliminar la copia temporal al mismo tiempo.

La solución es definir los directorios de copia local/remoto en la misma máquina:

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

encontré que copy_dir ajuste de sólo era necesario, y que se podía hacer en la línea de comandos, así que no necesito para modificar los archivos de implementación para mi caso límite de implementación en la misma máquina: cap deploy -s copy_dir = '/ not/tmp' – mmrobins

0

En general por lo general esto es 1 de 3 cosas:

  1. de archivos mal/corrupta gzip
  2. un intento de extraer un archivo de una manera diferente a la forma en que fue empaquetado
  3. Microsoft línea termina dentro de los archivos en su aplicación (\ r \ n)

mi dinero está en el tercero.

Cuestiones relacionadas