Basic TravisCI Information
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
TravisCI विभिन्न git प्लेटफार्मों जैसे Github, Bitbucket, Assembla, और Gitlab के साथ सीधे एकीकृत होता है। यह उपयोगकर्ता से TravisCI को उन रिपोजिटरीज़ तक पहुँचने की अनुमति देने के लिए कहेगा जिनके साथ वह TravisCI को एकीकृत करना चाहता है।
उदाहरण के लिए, Github में यह निम्नलिखित अनुमतियों के लिए पूछेगा:
user:email
(पढ़ने के लिए केवल)
read:org
(पढ़ने के लिए केवल)
repo
: सार्वजनिक और निजी रिपोजिटरीज़ और संगठनों के लिए कोड, कमिट स्थिति, सहयोगियों, और तैनाती की स्थिति तक पढ़ने और लिखने की अनुमति देता है।
TravisCI में, अन्य CI प्लेटफार्मों की तरह, यह संभव है कि रिपोजिटरी स्तर पर रहस्यों को सुरक्षित करें जो एन्क्रिप्टेड रूप में सुरक्षित किए जाएंगे और निर्माण को निष्पादित करने वाली मशीन के वातावरण चर में डिक्रिप्ट और पुश किए जाएंगे।
यह संभव है कि उन शाखाओं को इंगित करें जिनमें रहस्य उपलब्ध होंगे (डिफ़ॉल्ट रूप से सभी) और यह भी कि क्या TravisCI इसके मान को छिपाना चाहिए यदि यह लॉग में दिखाई देता है (डिफ़ॉल्ट रूप से यह करेगा)।
प्रत्येक रिपोजिटरी के लिए TravisCI एक RSA की जोड़ी उत्पन्न करता है, निजी को रखता है, और रिपोजिटरी की सार्वजनिक कुंजी उन लोगों के लिए उपलब्ध कराता है जिनके पास रिपोजिटरी तक पहुँच है।
आप एक रिपोजिटरी की सार्वजनिक कुंजी तक पहुँच सकते हैं:
फिर, आप इस सेटअप का उपयोग करके गुप्त को एन्क्रिप्ट कर सकते हैं और उन्हें अपने .travis.yaml
में जोड़ सकते हैं। गुप्त को बिल्ड चलने पर डिक्रिप्ट किया जाएगा और पर्यावरण चर में उपलब्ध होगा।
ध्यान दें कि इस तरीके से एन्क्रिप्ट किए गए गुप्त सेटिंग्स के पर्यावरण चर में सूचीबद्ध नहीं होंगे।
पहले की तरह, TravisCI भी फ़ाइलों को एन्क्रिप्ट करने और फिर बिल्ड के दौरान उन्हें डिक्रिप्ट करने की अनुमति देता है:
Note that when encrypting a file 2 Env Variables will be configured inside the repo such as:
Travis CI Enterprise एक on-prem संस्करण है Travis CI का, जिसे आप अपने बुनियादी ढांचे में तैनात कर सकते हैं। इसे Travis CI के ‘सर्वर’ संस्करण के रूप में सोचें। Travis CI का उपयोग करने से आपको एक आसान-से-उपयोग होने वाला निरंतर एकीकरण/निरंतर तैनाती (CI/CD) प्रणाली सक्षम करने की अनुमति मिलती है, जिसे आप अपनी इच्छानुसार कॉन्फ़िगर और सुरक्षित कर सकते हैं।
Travis CI Enterprise दो प्रमुख भागों में बाँटा गया है:
TCI सेवाएँ (या TCI कोर सेवाएँ), जो संस्करण नियंत्रण प्रणालियों के साथ एकीकरण, निर्माणों को अधिकृत करने, निर्माण कार्यों को अनुसूचित करने आदि के लिए जिम्मेदार हैं।
TCI कार्यकर्ता और निर्माण वातावरण छवियाँ (जिन्हें OS छवियाँ भी कहा जाता है)।
TCI कोर सेवाओं के लिए निम्नलिखित की आवश्यकता होती है:
एक PostgreSQL11 (या बाद का) डेटाबेस।
एक बुनियादी ढांचा जिसमें एक Kubernetes क्लस्टर तैनात किया जा सके; इसे एक सर्वर क्लस्टर में या यदि आवश्यक हो तो एकल मशीन में तैनात किया जा सकता है।
आपकी सेटअप के आधार पर, आप कुछ घटकों को स्वयं तैनात और कॉन्फ़िगर करना चाह सकते हैं, जैसे कि RabbitMQ - अधिक विवरण के लिए Travis CI Enterprise सेटअप देखें।
TCI कार्यकर्ता के लिए निम्नलिखित की आवश्यकता होती है:
एक बुनियादी ढांचा जहाँ एक डॉकर छवि जिसमें कार्यकर्ता और एक लिंक की गई निर्माण छवि तैनात की जा सके।
कुछ Travis CI कोर सेवाओं के घटकों से कनेक्टिविटी - अधिक विवरण के लिए कार्यकर्ता सेटअप देखें।
तैनात TCI कार्यकर्ता और निर्माण वातावरण OS छवियों की मात्रा आपके बुनियादी ढांचे में Travis CI Enterprise तैनाती की कुल समवर्ती क्षमता को निर्धारित करेगी।
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)