2012-02-22 13 views
6

हम अपने भंडारों का प्रबंधन करने के लिए गिटोलाइट का उपयोग कर रहे हैं और हमारे हेरोकू प्रोजेक्ट के गिट सबमिड्यूल में से एक है। क्या प्रमाणीकरण के लिए हेरोकू की सार्वजनिक कुंजी प्राप्त करने का कोई तरीका है?heroku + git submodule प्रमाणीकरण की आवश्यकता है

धन्यवाद, डेविड

+1

Heroku का उपयोग कर किसी कि submodule खींचने के लिए सक्षम नहीं होगा चाहेंगे उपयोग कर सकते हैं? इसके अलावा, यह जांचने लायक है कि क्या स्लग संकलन के दौरान हेरोकू में सार्वजनिक/निजी कुंजी उपलब्ध है। – kanzure

उत्तर

10

नहीं, शायद नहीं। इसके बजाय, जब आप अपने गिट रिपॉजिटरी, similar to deploying private gems to Heroku में सबमिशन बनाते हैं तो आप HTTPS मूल प्रमाणीकरण का उपयोग कर सकते हैं। इस तरह दिखता है:

git submodule add https://username:[email protected]/username/repo.git 
+2

github ने इसके लिए एक नई सुविधा तैयार की है: https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth – kanzure

+0

मैंने आज इसे आजमाया और इसे प्राप्त किया : 'घातक: मैं प्रोटोकॉल 'गिट क्लोन https'' –

+0

को संभाल नहीं करता आपने वास्तव में क्या टाइप किया? – kanzure

3

तुम भी एक समर्पित id_rsa कुंजी ("तैनाती कुंजी") से युक्त एक .ssh निर्देशिका के लिए प्रतिबद्ध कर सकते हैं कि GitHub के साथ पंजीकृत है, या तो अपने खाते या एक समर्पित तैनाती खाते के साथ। chmod 0660 कुंजी को मत भूलना।

+2

.ssh फ़ोल्डर कहां जाना चाहिए? – acjay

+1

हाँ, यह कैसे काम करता है ?? –

+1

अब बिल्डपैक का उपयोग करके एक बेहतर समाधान है: https://github.com/timshadel/heroku-buildpack-github-netrc –

1

वहाँ दृष्टिकोण @kanzure के लिए एक और उपाय है: Settings > Personal access tokens को https://stackoverflow.com/a/29464430/990356

जाओ और repo गुंजाइश सक्षम के साथ एक व्यक्तिगत पहुँच टोकन उत्पन्न करते हैं।

अब आप git clone https://[email protected]/user-or-org/repo करते हैं और एक submodule git submodule add https://[email protected]/user-or-org/repo

पेशेवरों के मामले में कर सकते हैं:

  • बहुत सरल दृष्टिकोण
  • टोकन आसानी से रद्द किया जा सकता
  • अपने वास्तविक पासवर्ड सुरक्षित
  • है

विपक्ष:

  • कोई टोकन को एक्सेस है, तो वह अपने GitHub रेपोस (पढ़ने और लिखने)