Basic TravisCI Information

Support HackTricks

Access

TravisCI विभिन्न git प्लेटफार्मों जैसे Github, Bitbucket, Assembla, और Gitlab के साथ सीधे एकीकृत होता है। यह उपयोगकर्ता से TravisCI को उन रिपोजिटरीज़ तक पहुँचने की अनुमति देने के लिए कहेगा जिनके साथ वह TravisCI को एकीकृत करना चाहता है।

उदाहरण के लिए, Github में यह निम्नलिखित अनुमतियों के लिए पूछेगा:

  • user:email (पढ़ने के लिए केवल)

  • read:org (पढ़ने के लिए केवल)

  • repo: सार्वजनिक और निजी रिपोजिटरीज़ और संगठनों के लिए कोड, कमिट स्थिति, सहयोगियों, और तैनाती की स्थिति तक पढ़ने और लिखने की पहुँच प्रदान करता है।

Encrypted Secrets

Environment Variables

TravisCI में, अन्य CI प्लेटफार्मों की तरह, यह संभव है कि रिपो स्तर पर रहस्यों को सुरक्षित करें जो एन्क्रिप्टेड रूप में सुरक्षित किए जाएंगे और निर्माण को निष्पादित करने वाली मशीन के वातावरण चर में डिक्रिप्ट और पुश किए जाएंगे

यह संभव है कि ब्रांचों को इंगित करें जिन पर रहस्य उपलब्ध होंगे (डिफ़ॉल्ट रूप से सभी) और यह भी कि क्या TravisCI इसके मान को छिपाना चाहिए यदि यह लॉग में दिखाई देता है (डिफ़ॉल्ट रूप से यह करेगा)।

Custom Encrypted Secrets

प्रत्येक रिपो के लिए TravisCI एक RSA कीपैर उत्पन्न करता है, निजी को रखता है, और रिपोजिटरी की सार्वजनिक कुंजी उन लोगों के लिए उपलब्ध कराता है जिनके पास रिपोजिटरी तक पहुँच है।

आप एक रिपो की सार्वजनिक कुंजी तक पहुँच सकते हैं:

travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test

फिर, आप इस सेटअप का उपयोग करके गुप्त को एन्क्रिप्ट कर सकते हैं और उन्हें अपने .travis.yaml में जोड़ सकते हैं। गुप्त बिल्ड चलने पर डिक्रिप्ट किए जाएंगे और पर्यावरण चर में उपलब्ध होंगे।

ध्यान दें कि इस तरीके से एन्क्रिप्ट किए गए गुप्त सेटिंग्स के पर्यावरण चर में सूचीबद्ध नहीं होंगे।

कस्टम एन्क्रिप्टेड फ़ाइलें

पहले की तरह, TravisCI भी फाइलों को एन्क्रिप्ट करने और फिर बिल्ड के दौरान उन्हें डिक्रिप्ट करने की अनुमति देता है:

travis encrypt-file super_secret.txt -r carlospolop/t-ci-test

encrypting super_secret.txt for carlospolop/t-ci-test
storing result as super_secret.txt.enc
storing secure env variables for decryption

Please add the following to your build script (before_install stage in your .travis.yml, for instance):

openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d

Pro Tip: You can add it automatically by running with --add.

Make sure to add super_secret.txt.enc to the git repository.
Make sure not to add super_secret.txt to the git repository.
Commit all changes to your .travis.yml.

Note that when encrypting a file 2 Env Variables will be configured inside the repo such as:

TravisCI Enterprise

Travis CI Enterprise एक on-prem संस्करण है Travis CI का, जिसे आप अपने बुनियादी ढांचे में तैनात कर सकते हैं। इसे Travis CI के ‘सर्वर’ संस्करण के रूप में सोचें। Travis CI का उपयोग करने से आपको एक आसान-से-उपयोग करने योग्य निरंतर एकीकरण/निरंतर तैनाती (CI/CD) प्रणाली सक्षम करने की अनुमति मिलती है, जिसे आप अपनी इच्छानुसार कॉन्फ़िगर और सुरक्षित कर सकते हैं।

Travis CI Enterprise दो प्रमुख भागों में बाँटा गया है:

  1. TCI सेवाएँ (या TCI कोर सेवाएँ), जो संस्करण नियंत्रण प्रणालियों के साथ एकीकरण, निर्माणों को अधिकृत करने, निर्माण कार्यों को अनुसूचित करने आदि के लिए जिम्मेदार हैं।

  2. TCI कार्यकर्ता और निर्माण वातावरण छवियाँ (जिन्हें OS छवियाँ भी कहा जाता है)।

TCI कोर सेवाओं के लिए निम्नलिखित की आवश्यकता होती है:

  1. एक PostgreSQL11 (या बाद का) डेटाबेस।

  2. एक बुनियादी ढांचा जिसमें एक Kubernetes क्लस्टर तैनात किया जा सके; इसे एक सर्वर क्लस्टर में या यदि आवश्यक हो तो एकल मशीन में तैनात किया जा सकता है।

  3. आपकी सेटअप के आधार पर, आप कुछ घटकों को स्वयं तैनात और कॉन्फ़िगर करना चाह सकते हैं, जैसे कि RabbitMQ - अधिक विवरण के लिए Travis CI Enterprise सेटअप देखें।

TCI कार्यकर्ता के लिए निम्नलिखित की आवश्यकता होती है:

  1. एक बुनियादी ढांचा जहाँ एक डॉकर छवि जिसमें कार्यकर्ता और एक लिंक की गई निर्माण छवि तैनात की जा सके

  2. कुछ Travis CI कोर सेवाओं के घटकों से कनेक्टिविटी - अधिक विवरण के लिए कार्यकर्ता सेटअप देखें।

तैनात TCI कार्यकर्ता और निर्माण वातावरण OS छवियों की मात्रा आपके बुनियादी ढांचे में Travis CI Enterprise तैनाती की कुल समवर्ती क्षमता को निर्धारित करेगी।

Support HackTricks

Last updated