सहयोग परत चुनें
Forgejo और Gitea हल्के फ़ोर्ज सॉफ़्टवेयर के उदाहरण हैं; छोटे वर्कफ़्लो के लिए सादा SSH Git पर्याप्त हो सकता है। इश्यू, समीक्षा, पैकेज संग्रहण और पहचान आवश्यकताओं को प्रोजेक्ट से मिलाएँ। वर्तमान समर्थित संस्करणों और लाइसेंसों की पुष्टि करें।
फ़ोर्ज से बिल्ड अलग रखें
CI रनर प्रोजेक्ट-नियंत्रित कोड निष्पादित करता है और उसे असीमित फ़ोर्ज या होस्ट क्रेडेंशियल नहीं रखने चाहिए। रनर को अलग करें, टोकन का दायरा सीमित करें और रिपॉज़िटरी सेवा के समान विशेषाधिकार प्राप्त खाते पर अविश्वसनीय जॉब न चलाएँ।
पहुँच और पंजीकरण की सुरक्षा करें
जब सेवा निजी हो तो सार्वजनिक साइनअप अक्षम करें। व्यक्तिगत खाते, मजबूत प्रमाणीकरण और सावधानी से सीमित परिनियोजन कुंजियों का उपयोग करें। SSH पोर्ट और होस्ट कुंजी का दस्तावेज़ीकरण करें; उपयोगकर्ताओं को चुपचाप होस्ट-कुंजी चेतावनियों को अनदेखा करना न सिखाएँ।
पूरी सेवा का बैकअप लें
अकेले रिपॉज़िटरी में इश्यू, खाते, अटैचमेंट और कॉन्फ़िगरेशन शामिल नहीं हो सकते। फोर्ज की सुसंगत बैकअप प्रक्रिया का पालन करें और फ़ाइल अनुमतियों और एप्लिकेशन सीक्रेट को बरकरार रखते हुए पुनर्स्थापन का परीक्षण करें।
फोर्ज रिकवरी चेकलिस्ट
डेटाबेस को सुसंगत रूप से निर्यात करें और रिपॉज़िटरी स्टोरेज, अटैचमेंट, यदि सक्षम हो तो बड़ी-फ़ाइल स्टोरेज, कॉन्फ़िगरेशन और एन्क्रिप्शन सीक्रेट्स सुरक्षित रखें। पुनर्स्थापन के बाद इच्छित SSH या HTTPS मार्ग पर क्लोन सत्यापित करें। फ़ोर्ज और किसी भी CI वर्कर को अलग रखें ताकि कोई बिल्ड सेवा के अपने कॉन्फ़िगरेशन को फिर से न लिख सके।
परिनियोजन अधिकार संकीर्ण रखें
केवल-पढ़ने वाली डिप्लॉयमेंट कुंजी उस सर्वर के लिए पर्याप्त हो सकती है जो केवल कोड खींचता है। रिलीज़ ऑटोमेशन को थोड़ा अतिरिक्त स्कोप चाहिए हो सकता है। अलग-अलग मशीनों के लिए स्वतंत्र कुंजियाँ पसंद करें, उनका उद्देश्य दर्ज करें और मशीन सेवानिवृत्त होने पर उन्हें हटा दें।
वह सबसे छोटी सहयोग सेवा उपयोग करें जो उपयुक्त हो
कुछ निजी रिपॉज़िटरी के लिए, प्रतिबंधित SSH पर बेयर Git पर्याप्त हो सकता है। Forgejo या Gitea एक डेटाबेस, एप्लिकेशन अपडेट और अधिक स्थायी स्थिति की कीमत पर खाते, पुल अनुरोध, इश्यू और वैकल्पिक पैकेज जोड़ता है। रिकॉर्ड करें कि टीम वास्तव में किन सुविधाओं का उपयोग करेगी। रिपॉज़िटरी वृद्धि, बड़ी-फ़ाइल ऑब्जेक्ट, अनुलग्नक और बिल्ड आर्टिफ़ैक्ट का अलग से बजट बनाएँ; CI कंप्यूट फ़ोर्ज से अधिक हो सकता है।
- एक विहित HTTPS नाम चुनें और उसके DNS खाते की सुरक्षा करें।
- तय करें कि साइनअप बंद है, निमंत्रण-आधारित है या मॉडरेटेड है।
- फ़ोर्ज सेवा को एक गैर-विशेषाधिकार प्राप्त पहचान और टिकाऊ निजी स्टोरेज दें।
आधिकारिक दस्तावेज़: Forgejo कंटेनर इंस्टॉलेशन
वेब, SSH और डेटाबेस पथों को अलग करें
चयनित रिलीज़ के लिए अपस्ट्रीम कॉन्फ़िगरेशन का उपयोग करें और इच्छित इमेज संस्करण पिन करें। एक TLS रिवर्स प्रॉक्सी को आंतरिक वेब लिसनर तक पहुँचना चाहिए; डेटाबेस केवल forge से पहुँच योग्य होना चाहिए। यदि Git SSH कंटेनर पोर्ट का उपयोग करता है, तो उसका विज्ञापित होस्ट और बाहरी पोर्ट मैपिंग के अनुरूप रखें। forge बदलते समय होस्ट प्रशासक SSH लिसनर को न बदलें और न ही गलती से उजागर करें। प्रारंभिक स्वामी बनने के बाद इंस्टॉलेशन/सेटअप पहुँच बंद कर दें।
- एप्लिकेशन शुरू करने से पहले स्थायी वॉल्यूम स्वामित्व जाँचें।
- forge डेटाबेस तक सीमित डेटाबेस उपयोगकर्ता का उपयोग करें।
- CI रनर को अलग विश्वास सीमा पर रखें, विशेष रूप से अविश्वसनीय रिपॉज़िटरी के लिए।
आधिकारिक दस्तावेज़: Forgejo Docker नेटवर्किंग और स्थायित्व
क्लोन, पुश और एक अस्वीकृत संचालन सत्यापित करें
एक डिस्पोज़ेबल निजी रिपॉज़िटरी बनाएं और सामान्य डेवलपर खाते से उसके HTTPS या SSH क्लोन URL का परीक्षण करें। एक हानिरहित फ़ाइल कमिट और पुश करें, फिर सत्यापित करें कि कोई अन्य अधिकृत पाठक उसे प्राप्त कर सकता है। किसी अनामंत्रित खाते को निजी रिपॉज़िटरी पढ़ने में विफल होना चाहिए। बड़ी फ़ाइलों के प्रबंधन और सूचना ईमेल (यदि सक्षम हो) की जाँच करें। केवल-परिनियोजन मशीनों के लिए, परीक्षण करें कि केवल-पढ़ने वाली कुंजी प्राप्त कर सकती है और पुश नहीं कर सकती; केवल प्रमाणीकरण की सफलता इच्छित अनुमति सीमा सिद्ध नहीं करती।
# Use the disposable repository URL advertised by your forge:
git clone ssh://[email protected]:2222/team/check.git
# In a clone, inspect which remote is configured:
git remote -vरिपॉज़िटरी के साथ-साथ चर्चा भी पुनर्प्राप्त करें
एक सुसंगत एप्लिकेशन/डेटाबेस बैकअप, रिपॉज़िटरी स्टोरेज, अटैचमेंट, LFS डेटा, कॉन्फ़िगरेशन और आवश्यक एन्क्रिप्शन सीक्रेट लें। इंस्टॉल किए गए फ़ोर्ज संस्करण की बैकअप प्रक्रिया का पालन करें; Gitea बैकअप कमांड हर Forgejo रिलीज़ के साथ स्वतः विनिमेय नहीं हैं। अलगाव में पुनर्निर्माण करें और एक इश्यू, अटैचमेंट, लॉगिन और क्लोन सत्यापित करें। स्थानांतरण के बाद यदि पुश विफल हो, तो रिपॉज़िटरी अनुमतियाँ वैश्विक रूप से बदलने से पहले SSH होस्ट/पोर्ट, कुंजी मैपिंग, स्टोरेज अनुमतियाँ और विज्ञापित क्लोन URL जाँचें।
आधिकारिक दस्तावेज़: Gitea बैकअप और रिस्टोर