गोलांग डेवलपर्स के लिए, सार्वजनिक रिपॉजिटरी के साथ काम करते समय गो मॉड्यूल को प्रबंधित करना और स्थापित करना आमतौर पर सीधा होता है। हालाँकि, चीजें तब और अधिक मुश्किल हो जाती हैं जब आपको निजी गो मॉड्यूल के साथ काम करने की आवश्यकता होती है।
गो मॉड्यूल टूलचेन निजी GOPROXY का उपयोग करने से परे निजी मॉड्यूल के साथ काम करने के लिए एक अंतर्निहित तंत्र प्रदान नहीं करता है, और इसे ठीक से स्थापित करना और बनाए रखना हर डेवलपर या संगठन के लिए एक विकल्प नहीं है। कुछ पैकेज रिपॉजिटरी सेवाएँ निजी गो मॉड्यूल के साथ काम करने का समर्थन करती हैं लेकिन आम तौर पर डेवलपर्स के लिए सबसे साफ अनुभव प्रदान नहीं करती हैं।
इस कारण से, ज्यादातर मामलों में, हम गो गेट, गो इंस्टॉल, या गो मॉड डाउनलोड का उपयोग करते समय अपने निजी रिपॉजिटरी के साथ प्रमाणीकरण प्रबंधित करने के लिए कुछ गो पर्यावरण चर के साथ जटिल गिट कॉन्फ़िगरेशन (.netrc या .gitconfig) की व्यवस्था करते हैं। .
इन Git कॉन्फ़िगरेशन के साथ समस्या यह है कि वे सभी डेवलपर्स के लिए स्पष्ट नहीं हैं, और वे असुरक्षित हो सकते हैं क्योंकि उन्हें फ़ाइल सिस्टम में सादे-पाठ क्रेडेंशियल संग्रहीत करने की आवश्यकता हो सकती है। सीआई/सीडी सिस्टम को कॉन्फ़िगर करने, डॉकर इमेज बनाने आदि के दौरान ये मुद्दे और भी अधिक समस्याग्रस्त हो जाते हैं।
लंबे समय से गोलांग डेवलपर्स के रूप में (उस युग से आ रहे हैं जब गो मॉड्यूल भी मौजूद नहीं थे), हमने हमेशा एक ऐसे समय का सपना देखा है जब निजी गो पुस्तकालयों के साथ काम करना सार्वजनिक पुस्तकालयों के साथ काम करने जितना आसान और शक्तिशाली होगा।
अपने निजी गो पुस्तकालयों को विकसित करने और GitHub पर भेजने की कल्पना करें, और तुरंत केवल GOPROXY पर्यावरण चर सेट करके अपने प्रोजेक्ट स्रोत कोड से नए परिवर्तन प्राप्त करें। कोई पेचीदा और असुरक्षित Git कॉन्फ़िगरेशन नहीं, कोई स्व-होस्टेड GOPROXY रखरखाव नहीं, कोई जटिल और त्रुटि-प्रवण प्रकाशन वर्कफ़्लो नहीं, और आपके स्थानीय देव मशीन, डॉकरफ़ाइल और CI/CD वातावरण के लिए समान सेटअप।
goproxy.dev को नमस्ते कहें, एक निजी GOPROXY सेवा जो GitHub के साथ एकीकृत होकर आपको निर्बाध गो निजी मॉड्यूल इंस्टॉलेशन प्रदान करती है।
बस अपने GitHub खाते से goproxy.dev में साइन इन करें, आपके द्वारा उपयोग की जाने वाली निजी रिपॉजिटरी तक पहुंच प्रदान करें, और अपने GOPROXY और GONOSUMDB पर्यावरण चर निर्यात करें।
export [email protected],proxy.golang.org,direct export GONOSUMDB=github.com/your-organization
ये गो पर्यावरण चर सीधे आपके शेल कॉन्फ़िगरेशन (.zshrc, .bashrc, आदि) से या गो एनवी -डब्ल्यू का उपयोग करके सेट किए जा सकते हैं।
फिर आप अपने निजी मॉड्यूल को स्थापित और डाउनलोड करने के लिए अपने सामान्य गो कमांड चला सकते हैं।
go get github.com/your-organization/[email protected] go install github.com/your-organization/go-module/cmd ... go mod download
goproxy.dev के साथ एकीकरण के लिए केवल दो पर्यावरण चर सेट करने की आवश्यकता होती है। डॉकर बिल्ड के दौरान ऐसा करने का सबसे अच्छा तरीका डॉकर बिल्ड सीक्रेट्स फीचर का उपयोग करना है।
आपके डॉकरफ़ाइल के अंदर:
COPY go.mod go.sum ./ RUN --mount=type=secret,id=GOPROXY \ GOPROXY=$(cat /run/secrets/GOPROXY) \ GONOSUMDB=github.com/your-organization \ go mod download RUN go build .
और भागो:
GOPROXY="[your GOPROXY value]" docker build --secret id=GOPROXY
बस अपने GitHub क्रियाओं के लिए एक रहस्य कॉन्फ़िगर करें जिसमें आपका GOPROXY URL शामिल है और इसे अपने वर्कफ़्लो से उपयोग करें:
jobs: build: - run: | go mod download go build . env: GOPROXY: ${{ secrets.PRIVATE_GOPROXY }} GONOSUMDB: github.com/your-organization
goproxy.dev के साथ आपको गो के साथ लाइब्रेरी का उपभोग करते समय सबसे अच्छा डेवलपर अनुभव मिलेगा। चाहे आप अपने संगठन के ओपन-सोर्स सार्वजनिक पुस्तकालयों या निजी मॉड्यूल पर निर्भर हों, आपके पास एक एकीकृत वर्कफ़्लो होगा: अपना GOPROXY पर्यावरण चर सेट करें, और एक विशिष्ट संस्करण, Git शाखा, या कमिट के लिए निर्भरताएँ प्राप्त करें।
अधिक जानें और हमारे 14-दिवसीय नि:शुल्क परीक्षण के लिए साइन अप करके आज ही goproxy.dev के साथ शुरुआत करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3