Тарг помилки Capistrano: Це не схоже на архів дьогтю


102
 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      

Мене бентежить дві речі:

  1. Чому git archiveтут біжить Капістрано :
    git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157

  2. Чому не tarвдається?

Відповіді:


321

У мене було те саме питання, поки я не зрозумів, що тягну неіснуючу гілку від git.


53
Такий лобник.
Грант Бірхмайер

20
Я також німий
notaceo

12
Вдруге я стикаюся з вашою відповіддю, вдруге це сталося, я почуваюсь німим!
Фабіан де Пабіан

11
Я радий, що це питання має так багато відгуків. Принаймні, я не провалююсь самотньо.
подрібнення

6
Серйозно, це, мабуть, 42-й раз, коли я роблю той самий пошук в Google і читаю цю відповідь xD
Кирило Дюшон-Доріс

19

Видалення app_name / repo також вирішило цю проблему для мене.


1
Це працювало для мене декілька разів, коли виникають проблеми з репо з розгортанням кришки, але не завжди.
Хорхе Орпінель

15

Це відбувається, коли репо на сервері для розгортання буде заблоковано. Ми говоримо про голий gpo repo, який Капістрано за замовчуванням поставив /var/www/$application/repo(для довідки інших людей).

У вашому випадку він не має локальної функції / гілки Capistrano, тому при виконанні git archive feature/Capistranoнічого не виводиться на цю |трубу. Для підтвердження ssh на сервер, cd в / home / rails / rails-capistrano / repo та запустіть git branch.

  1. Він працює з архівом git як спосіб експорту дерева вибраної гілки. git archive "записує його до стандартного виводу", тому Capistrano перенаправляє його на tar , щоб негайно видалити архів у новий каталог релізів. (Чому Capistrano вибрав це замість git checkout перемагає мене.)

  2. дьоготь не вдається, тому що не отримує нічого d:

Я можу придумати два можливі рішення / способи усунення несправностей:

  • ssh на сервер і вручну видалити папку repo (наприклад, у вашому випадку / home / rails / rails-capistrano / repo), як згадував @lugolabs
  • переконайтесь, що репо-сервер використовує віддалений, який ви очікуєте (ssh in, CD в repo / і запустіть git remote -v) - можливо, вам просто потрібно буде оновити свій :repo_urlфайл в config.rb (і видалити репо / dir).

Чи є у нас інший спосіб замість видалення поточного репо?
hainguyen

4

Я думаю, що ця папка заповнюється за допомогою git pull, тому вона не повинна бути порожньою. Якщо ви бачите, що це порожнє, проблема полягає в git, а не в тарботі.

Проблема, яку я мав, - це моя URL-адреса сховища capistrano. кешували оригінальну неправильну віддалену URL-адресу.


4
для googling folks: також перевірте, чи встановлено ви існуючу гілку !!! ... працював для мене :)
еквівалент8

4

Кожен раз, коли я потрапив на цю помилку, це було через те, що гілка, вказана у моєму файлі розвідки / оточення . Виконайте додавання / фіксація / git, що посилається, початкове ім'я відгалуження, і це, ймовірно, призведе до роботи.


0

Я використовую Bedrock Roots (wordpress) для розробки, capistrano для розгортання та руху git. Натрапили на цю помилку при спробі розгортання під час локальної гілки виправлення / xxx. Тож я закінчив поточний (об'єднав зміни для розвитку галузі) і потім успішно розгорнувся.


Чи розумієте ви, чому об'єднання в розробку виправлене вашою проблемою?
Ерік Френсіс

Розгортання інших гілок може спрацювати, але залишається питання, чому саме той, який ви намагаєтесь розгорнути, не працює? Я можу відповісти.
Хорхе Орпінел

@EricFrancis Насправді, я це роблю зараз) Як говориться у відповіді, що виголосується, виправлення не існувало на віддаленому місці (де розгортається капістрано)
Сергій Дубовик
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.