मैं अपना व्यक्तिगत सर्वर मेरा प्राथमिक गिट रिमोट होने का प्रयास कर रहा हूं और स्वचालित रूप से गिटूब को दर्पण करता हूं। मुझे this article मिला जो इसे अधिकतर post-receive
स्क्रिप्ट के साथ काम करता है जो git push --mirror
(अनिवार्य रूप से) करता है।github.com (auth विफलताओं) के लिए एक स्वयं-होस्टेड गिट भंडार मिररिंग
मेरा दृष्टिकोण अलग है कि मैं एक तैनाती कुंजी बनाने और सुरक्षित करने से बचाना चाहता हूं और फिर इसे प्रत्येक संग्रह पर कॉन्फ़िगर करना चाहता हूं।
मेरी पोस्ट-प्राप्त स्क्रिप्ट टिप्पणियों में चिह्नित के रूप में नीचे दिए गए अधिकांश प्रकारों के साथ सही ढंग से काम करती है, सिवाय इसके कि जब मैं उपरोक्त ब्लॉग आलेख में पूर्ण नोहुप + स्टडीओ रीडायरेक्शन + पृष्ठभूमििंग करता हूं, प्रमाणीकरण काम करना बंद कर देता है।
GITHUB_USERNAME=focusaurus
BARE_PATH=$(pwd -P)
REPO_NAME=$(basename "${BARE_PATH}")
REPO_URL="ssh://[email protected]/${GITHUB_USERNAME}/${REPO_NAME}"
echo "About to mirror to ${REPO_URL}"
#hmm, this works
#git push --mirror "${REPO_URL}"
#this works, too
#nohup git push --mirror "${REPO_URL}"
#and this also works OK
nohup git push --mirror "${REPO_URL}" &
#but this fails with
#Permission denied (publickey).
#fatal: The remote end hung up unexpectedly
#Somehow ssh agent forwarding must get screwed up? Help me, Internet.
#nohup git push --mirror "${REPO_URL}" &>>/tmp/mirror_to_github.log &
#this is the one used in the blog post above but it also fails
# nohup git push --mirror "${REPO_URL}" &>/dev/null &
मेरे पास एसएसएच एजेंट अग्रेषण है जो मुझे विश्वास है कि कामकाजी संस्करण कैसे काम करते हैं। तो मेरा सवाल यह है कि उन अंतिम 2 भिन्नताओं प्रमाणीकरण त्रुटियों के साथ क्यों विफल हो जाते हैं?
क्या आप वाकई इन परिवर्तनों के कारण विफलता के कारण हैं, और कुछ और नहीं? –
हां। मैंने उपरोक्त उन सभी स्वादों का परीक्षण किया है और टिप्पणियों के अनुसार, जिन्हें "ठीक काम करता है" के रूप में चिह्नित किया गया है, भरोसेमंद काम करते हैं, और उसके बाद बस स्टडीओ को कैसे संभाला जाता है, यह लगातार विफलता का कारण बनता है। –
तो ऐसा लगता है कि समस्या मेरे एसएसएच विन्यास में कुछ हो सकती है। जांच। –