Basic TravisCI Information

HackTricks को समर्थन दें

Access

TravisCI सीधे विभिन्न git प्लेटफार्मों जैसे Github, Bitbucket, Assembla, और Gitlab के साथ एकीकृत होता है। यह उपयोगकर्ता से 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 में जोड़ने के लिए कर सकते हैं। गोपनीय जानकारियाँ बिल्ड चलने पर डिक्रिप्ट की जाएंगी और पर्यावरण वेरिएबल्स में उपलब्ध होंगी।

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

Custom Encrypted Files

पहले की तरह ही, 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.

ध्यान दें कि जब किसी फ़ाइल को एन्क्रिप्ट किया जाता है, तो 2 Env Variables को रिपॉजिटरी के अंदर कॉन्फ़िगर किया जाएगा जैसे:

TravisCI Enterprise

Travis CI Enterprise Travis CI का ऑन-प्रेम संस्करण है, जिसे आप अपने इंफ्रास्ट्रक्चर में डिप्लॉय कर सकते हैं। इसे Travis CI के 'सर्वर' संस्करण के रूप में सोचें। Travis CI का उपयोग करके आप एक आसान-से-उपयोग करने वाला Continuous Integration/Continuous Deployment (CI/CD) सिस्टम सक्षम कर सकते हैं, जिसे आप अपनी इच्छानुसार कॉन्फ़िगर और सुरक्षित कर सकते हैं।

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

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

  2. TCI वर्कर और बिल्ड एनवायरनमेंट इमेजेस (जिन्हें OS इमेजेस भी कहा जाता है)।

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

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

  2. एक Kubernetes क्लस्टर को डिप्लॉय करने के लिए इंफ्रास्ट्रक्चर; इसे सर्वर क्लस्टर में या आवश्यकता होने पर एकल मशीन में डिप्लॉय किया जा सकता है।

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

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

  1. एक इंफ्रास्ट्रक्चर जहां एक docker इमेज जिसमें वर्कर और एक लिंक्ड बिल्ड इमेज डिप्लॉय की जा सकती है

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

आपके इंफ्रास्ट्रक्चर में Travis CI Enterprise डिप्लॉयमेंट की कुल समवर्ती क्षमता को निर्धारित करने के लिए डिप्लॉय किए गए TCI वर्कर और बिल्ड एनवायरनमेंट OS इमेजेस की मात्रा महत्वपूर्ण होगी।

HackTricks को सपोर्ट करें

Last updated