Capistrano error tar: यह एक टार आर्काइव की तरह नहीं दिखता है


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. Capistrano git archiveयहाँ क्यों चल रहा है:
    git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157

  2. क्यों tarफेल हो रहा है?

जवाबों:


321

मेरे पास एक ही मुद्दा था, जब तक मुझे एहसास हुआ कि मैं git से noxistent शाखा खींच रहा हूं।


53
ऐसा माथा ठनका।
ग्रांट बिर्चमियर

20
मैं भी
notaceo

12
दूसरी बार जब मैं आपके उत्तर का सामना कर रहा हूं, दूसरी बार ऐसा हुआ, तो मैं गूंगा महसूस कर रहा हूं!
फेबियन डी पाबियान

11
मुझे ख़ुशी है कि इस सवाल में इतने उभार हैं। कम से कम मैं अकेला नहीं फेलता।
श्रेडिंग

6
गंभीरता से, यह संभवत: 42 वीं बार है जब मैं एक ही Google खोज कर रहा हूं और इस उत्तर को पढ़ रहा हूं xD
सिरिल डचोन-डोरिस

19

App_name / repo को हटाना भी मेरे लिए इस मुद्दे को तय करता है।


1
यह मेरे लिए कुछ समय के लिए काम किया है जब भी टोपी की तैनाती के साथ रेपो मुद्दे होते हैं लेकिन हमेशा नहीं।
जॉर्ज ऑरपिनेल

15

यह तब होता है जब सर्वर में तैनात रेपो को गड़बड़ कर दिया जाता है। हम नंगे गिट रेपो के बारे में बात कर रहे हैं जो कैपिस्ट्रानो डिफ़ॉल्ट रूप से /var/www/$application/repo(अन्य लोगों के संदर्भ के लिए) में डाल देगा ।

आपके मामले में यह एक स्थानीय सुविधा / Capistrano शाखा git archive feature/Capistranoनहीं है, इसलिए जब कुछ भी नहीं चल रहा है तो उस |पाइप पर आउटपुट नहीं है । पुष्टि करने के लिए, सर्वर में ssh, cd / home / rails / रेल-कैपिस्ट्रानो / रेपो, और चलाएं git branch

  1. यह चयनित संग्रह के पेड़ को निर्यात करने के तरीके के रूप में git संग्रह चला रहा है । git संग्रह "इसे मानक आउटपुट के लिए लिखता है" इसलिए Capistrano पुनर्निर्देशित करता है ताकि संग्रह को आपके नए रिलीज़ निर्देशिका में तुरंत अनसुना करने के लिए टार हो सके। (क्यों कैपिस्ट्रानो ने इसे गिट चेकआउट के बजाय मुझे हराया था।)

  2. टारगेट विफल हो जाता है क्योंकि यह कुछ भी प्राप्त नहीं कर रहा है d:

मैं समस्या निवारण के दो संभावित उपाय / तरीके सोच सकता हूं:

  • सर्वर में ssh और मैन्युअल रूप से रेपो फोल्डर (जैसे आपके मामले / घर / रेल / रेल-कैपिस्ट्रानो / रेपो में) को हटाएं @lugolabs द्वारा उल्लिखित
  • सुनिश्चित करें कि सर्वर का रेपो उस रिमोट का उपयोग कर रहा है, जिसकी आप अपेक्षा कर रहे हैं (ssh in, cd in repo /, and run git remote -v) - आपको केवल :repo_urlतैनाती में अपना अद्यतन करने की आवश्यकता हो सकती है (और रेपो / dir को हटाएं)।

क्या हमारे पास वर्तमान रेपो को हटाने के बजाय एक और तरीका है?
हिंगुयेन

4

मुझे लगता है कि फ़ोल्डर एक गिट्ट पुल के माध्यम से आबाद हो जाता है, इसलिए इसे खाली नहीं होना चाहिए। यदि आप इसे खाली देखते हैं तो मुद्दा टारबॉल नहीं गेट से है।

जो समस्या मेरे पास थी, वह मेरी कैपिस्ट्रानो तैनाती थी। आरबी रिपॉजिटरी URL उस प्रोजेक्ट से अलग काम कर रहा था, जो इस समस्या को हल करने के लिए अलग था, मुझे सर्वर पर लॉगऑन करना होगा और ऐप_नाम / रिपीट फ़ोल्डर को हटाना होगा। मूल खराब दूरस्थ URL को कैशिंग कर रहा है।


4
googling लोगों के लिए: यदि आप मौजूदा शाखा सेट करते हैं, तो भी देखें ... मेरे लिए काम किया :)
बराबर 8

4

जब भी मैंने इस त्रुटि को मारा है, क्योंकि मेरी तैनाती / पर्यावरण में निर्दिष्ट शाखा .rb फ़ाइल को गिट में चेक नहीं किया गया था। एक ऐड / कमिट / गिट पुश ओरिजिन ब्रांच_नाम करें और इससे चीजें काम करने लगेंगी


0

मैं विकास के लिए Bedrock Roots (वर्डप्रेस) का उपयोग कर रहा हूं, deploys और git flow के लिए capistrano। जब स्थानीय रूप से हॉटफ़िक्स / xxx शाखा पर तैनात करने का प्रयास करते समय इस त्रुटि पर ठोकर खाई। इसलिए मैंने वर्तमान (शाखा को विकसित करने के लिए मर्ज किए गए परिवर्तन) को समाप्त कर दिया और फिर सफलतापूर्वक तैनात किया।


क्या आप समझते हैं कि आपके मुद्दे को तय करने में विलय क्यों हो रहा है?
एरिक फ्रांसिस

अन्य शाखाओं को नियुक्त करना काम कर सकता है, लेकिन सवाल यह है कि जिस विशेष को आप काम नहीं करने की कोशिश कर रहे हैं वह विशेष क्यों है? मेरे पास एक जवाब हो सकता है।
जॉर्ज ऑरपिनल

@EricFrancis वास्तव में, मैं अब कर रहा हूँ) मतदान के जवाब राज्यों के रूप में, हॉटफ़िक्स दूरस्थ पर मौजूद नहीं था (जहाँ से कैपिस्ट्रानो को दर्शाया गया है)
सर्गेई डुबोविक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.