Capistrano erreur de goudron: Cela ne ressemble pas à une archive tar
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
Je suis confus au sujet de deux choses l'une:
-
Pourquoi est-Capistrano de course
git archive
ici:
git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157
-
Pourquoi est
tar
défaut?
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème, jusqu'à ce que j'ai réalisé que j'étais en tirant le inexistants branche à partir de git.
La suppression de app_name/repo également résolu ce problème pour moi.
Ce qui arrive quand les pensions de titres dans le serveur afin de déployer est foiré. Nous parlons de la nue-repo git que Capistrano, par défaut serait mis en
/var/www/$application/repo
(pour référence d'autres personnes).Dans votre cas, il ne dispose pas d'un local fonctionnalité/Capistrano direction de la sorte lors de l'exécution de
git archive feature/Capistrano
rien n'est sortie que|
pipe. Pour confirmer, un ssh sur le serveur, cd dans /home/rails/rails-capistrano/repo, et exécutergit branch
.C'est de la course git archive comme un moyen d'exporter les branche de l'arbre. git archive "écrit sur la sortie standard" donc Capistrano des redirections de goudron afin de décompresser l'archive immédiatement dans votre nouveau répertoire de sortie.
(Pourquoi Capistrano a choisi ce lieu de git checkout défaites moi.)
goudron échoue parce que c'est de ne rien recevoir, d:
Je pense à deux solutions possibles/moyens de résoudre les problèmes suivants:
git remote -v
) -- vous pouvez juste besoin de mettre à jour votre:repo_url
à déployer.rb (et de supprimer le repo/dir).Je pense que le dossier est renseigné par un git pull, donc il ne devrait pas être vide. Si vous ne la voir de vider la question est de git pas de l'archive.
Le problème que j'ai eu était mon capistrano déployer.rb URL dans le référentiel a été mis à un autre que que le projet sur lequel je travaillais. Afin de résoudre ce problème, j'ai également eu à ouvrir une session sur le serveur et de supprimer les app_name/repo dossier qui doit avoir été mise en cache de l'original de la mauvaise URL distante.
Chaque fois que j'ai touché à cette erreur c'est parce que la direction spécifiée dans mon déployer/environnement.rb dossier n'a pas vérifié dans le dépôt git. Faire un ajout /commettre /git push origin branch_name et qui sera susceptible de faire fonctionner les choses.
Je suis en utilisant le Substratum rocheux Racines (wordpress) pour le développement, capistrano pour déploie et git-flow.
Suis tombé sur cette erreur lorsque j'essaye de déployer, tandis que sur le correctif/x.x.x branche localement. Donc, j'ai fini actuelle (fusion des changements de développer direction), et ensuite déployé avec succès.