मैं ऐसा है कि मेरे सर्वर पर एक के बाद अद्यतन हुक है, जब मैंक्या उपयोगकर्ता गिट हुक चलाता है?
git push
यह लाइव वेब निर्देशिका पर एक पुल है। हालांकि, जब धक्का हमेशा सफल होता है, तो पोस्ट-अपडेट हुक कभी-कभी विफल हो जाता है।
हुक बहुत सरल है:
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
cd /var/www
env -i git pull
मैं स्थानों की एक किस्म से अद्यतन धक्का कर रहा हूँ, लेकिन कभी कभी मैं सर्वर पर रूट के रूप में लॉग इन करने की जरूरत है और एक
env -i git pull
कर manuall मुझे केवल समय के 20% करना है। कोई विचार क्यों यह यादृच्छिक रूप से विफल होगा? साथ ही, मैं इसे त्रुटि संदेशों को लॉग करने के लिए कैसे प्राप्त करूंगा, क्योंकि यह किसी ऐसे व्यक्ति के रूप में चल रहा है जो फ़ाइल सिस्टम पर नहीं लिख सकता है?
रूप में चलाया जाता क्या आप उन सभी स्थानों से उसी तरह धक्का दे रहे हैं? यही है, रिमोट यूआरएल उन सभी के लिए समान है? (विशेष रूप से, उपयोगकर्ता @ होस्टनाम भाग) – Cascabel
इसके अलावा, जब आप कहते हैं कि यह विफल रहता है, तो क्या आपको वास्तव में यह त्रुटि से इनकार करने में त्रुटि से असफल हो जाता है जो इंगित करता है कि यह अपर्याप्त विशेषाधिकार वाले उपयोगकर्ता के रूप में चल रहा है? या क्या यह कुछ पूरी तरह से असंबंधित कारणों में विफल रहा है, यूआईडी के साथ ऐसा करने के लिए कुछ भी नहीं है? – Cascabel
मैं वास्तव में विभिन्न स्थानों से धक्का दे रहा हूं: कभी-कभी यह उपयोगकर्ता 1 @ होस्टनाम, अन्य समय, उपयोगकर्ता 2 @ होस्टनाम, आदि (वे सभी को यह समस्या है)। यह एक त्रुटि संदेश के बिना विफल रहता है जिसे मैं देख सकता हूं, और मुझे यकीन नहीं है कि एक कैसे प्राप्त करें। मेरे पोस्ट-अपडेट में, मैंने जोड़ा,> $ user> /log.txt गूंजें, लेकिन वहां कुछ भी लिखा नहीं गया है (न ही फ़ाइल बनाई गई है)। इससे मुझे लगता है कि उपयोगकर्ता धक्का दे रहा है, इसकी कोई अनुमति नहीं है। लेकिन अगर मैं एक त्रुटि संदेश भी नहीं लिख सकता, तो मुझे कैसे पता चलेगा? – ash