git - Commit to repo on production after Capistrano deploy -
अस्पष्ट, दर्दनाक परिचालन कारणों के लिए, उत्पादन कोड को मुख्य गिट रेपो में कोड की जांच करने की आवश्यकता है
हालांकि, कैप्स्टारानो 3, परिनियोजन पर, करता है:
निष्पादित करें: git,: क्लोन, '--mirror', repo_url, repo_path
- दर्पण
विकल्प, जिसका अर्थ है - बेअर
, जो .git
मेटा डेटा के बिना निर्देशिका संरचना बनाता है।
चूंकि आप कोड जमा कर रहे हैं उत्पादन से (जो आमतौर पर सख्त नहीं है - आपको पैच
को diff
से बनाना चाहिए, और इसे स्थानीय रूप से लागू करें और फिर एक धक्का दें), मुझे लगता है कि आपके पास पहले से ही है आपके उत्पादन सर्वर तक पहुंच।
यह कैपिस्ट्रानो फ्रेमवर्क के बाहर एक आत्मा है आपको निम्न कार्य करने की आवश्यकता है:
- कमोड को उत्पादन स्थल पर बनाएं
- इसे वहां से (अपने सर्वर से) अपने होस्टिंग तक पुश करें
2.1। अर्थात, इसे अपने होस्ट किए गए रेपो स्थान पर (जैसे github / bitbucket / gitlab) - 2.2 पर दबाएं।http (s)
यूआरएल का उपयोग करें (क्योंकि अन्यथा आपको एसएसबी कुंजी सेट अप करना पड़ सकता है) - उन परिवर्तनों को अपने स्थानीय डेवलपर मशीन में खींचें
- दो अपनी स्थानीय मशीन से कैपिटरैनो के साथ एक ताजा तैनाती।
हालांकि, मैं एक पैच बनाने और इसे लागू करने की सिफारिश करेगा:
- अपने उत्पादन सर्वर पर जाएं , कोई कमिट नहीं बनाते हैं
- सभी मौजूदा फाइलों की एक diff फाइल बनाएं,
git diff & gt; Diff.patch.date
- अपने स्थानीय सिस्टम में से एक
scp server / path / to / diff.patch.date स्थानीय / path / to / repo का उपयोग कर इस पैच फ़ाइल को कॉपी करें < / Code>
-
git पर लागू करें
-
git add का उपयोग करते हुए परिवर्तनों को जोड़ें और कमांड करें। & Amp; & amp; Git commit -m "msg"
- अब एक कैप तैनात करना
संपादित करें
बाद आपका प्रश्न फिर से पढ़ना, ऐसा लगता है कि कैपिट्रानो एक रेपो का निर्माण कर रहे हैं, और इसलिए आप वहां से कमिट नहीं कर पा रहे हैं। अगर ऐसा मामला है, तो
- केवल
git क्लोन original_bare_rep non_bare_repo
- का उपयोग कर रेपो की एक और गैर बेर क्लोन बनाएं अपने gitlab / bitbucket url को जोड़ें >>
- अपने परिवर्तनों को कमज़ोर करें और उन्हें अपस्ट्रीम पर धक्का दें
- अब आप एक ताजा कैप तैनाती, या नंगे रेपो को सीधे दबाएं।
Comments
Post a Comment