बेज़ल क्यों?

समस्या की शिकायत करें सोर्स देखें ठीक

Basel एक तेज़, सही, और एक्सटेंसिबल बिल्ड टूल है. यह इंटिग्रेट की गई टेस्टिंग के साथ काम करता है. यह इंडस्ट्री के सबसे बेहतरीन ईकोसिस्टम में उपलब्ध, कई भाषाओं, डेटा स्टोर करने की जगहों, और प्लैटफ़ॉर्म के साथ काम करता है.

Basel एक तेज़ है

Basel को पता है कि हर बिल्ड कमांड की ज़रूरत के हिसाब से कौन-कौनसी इनपुट फ़ाइलें चाहिए. साथ ही, वह हर बिल्ड के बीच इनपुट फ़ाइलों का सेट बदलने के बाद ही उसे फिर से चलाकर, गै़र-ज़रूरी काम से बचाता है. यह किसी एक कंप्यूटर या रिमोट बिल्ड नोड पर, ज़्यादा से ज़्यादा समानता के साथ बिल्ड कमांड चलाता है. अगर बिल्ड का स्ट्रक्चर ऐसा करने की अनुमति देता है, तो यह एक साथ हज़ारों बिल्ड या टेस्ट कमांड चला सकता है.

यह सुविधा कई कैश मेमोरी लेयर, मेमोरी, डिस्क, और रिमोट बिल्ड फ़ार्म (अगर उपलब्ध हो) के साथ काम करती है. Google में, हम नियमित रूप से 99% के उत्तर में कैश हिट रेट हासिल करते हैं.

बेज़ल सही है

Basel यह पक्का करता है कि आपकी बाइनरी सिर्फ़ आपके सोर्स कोड से बनाई गई हैं. Basel की कार्रवाइयां अलग-अलग सैंडबॉक्स में चलती हैं और Baज़र, बिल्ड की हर इनपुट फ़ाइल को ट्रैक करते हैं. ज़रूरत पड़ने पर, सिर्फ़ और हमेशा बिल्ड कमांड को ही फिर से चलाया जाता है. इससे आपकी बाइनरी अप-टू-डेट रहती हैं, ताकि एक ही सोर्स कोड से हमेशा एक ही बाइनरी नतीजे मिले. हालांकि, यह एक-एक करके होता है.

make clean को शुरू करने और उन फ़ैंटम बग का पता लगाने के लिए गुडबाइट कहें, जिन्हें असल में ऐसे सोर्स कोड में हल किया गया था जो कभी नहीं बना था.

Basel का इस्तेमाल किया जा सकता है

अपनी खास ज़रूरतों के हिसाब से Basel को कस्टमाइज़ करने के लिए, अपने नियम और मैक्रो लिखकर Basel का पूरा फ़ायदा लें.

बेज़ल के नियम Starlark में लिखे गए हैं. यह हमारी इन-हाउस प्रोग्रामिंग भाषा है, जो Python का एक सबसेट है. Starlark, ज़्यादातर डेवलपर के लिए नियम लिखने के ऐक्सेस को ऐक्सेस करने की सुविधा देता है. साथ ही, वे ऐसे नियम भी बनाते हैं जिनका इस्तेमाल पूरे नेटवर्क में किया जा सके.

इंटिग्रेटेड टेस्टिंग

बेज़ल का इंटिग्रेट किया गया टेस्ट रनर, सिर्फ़ उन टेस्ट के बारे में जानता है और चलाता है जिन्हें फिर से चलाने की ज़रूरत होती है. इसके लिए, उन्हें रिमोट एक्ज़ीक्यूशन (अगर उपलब्ध हो) का इस्तेमाल करके साथ-साथ चलाया जाता है. हज़ारों बार तेज़ी से टेस्ट करने के लिए, रिमोट ऐक्शन का इस्तेमाल करके फ़्लेक्स का जल्दी पता लगाएं.

Basel, जांच के नतीजों को किसी एक जगह पर अपलोड करने की सुविधाएं उपलब्ध कराती है. इससे, किसी भी डेवलपर या सीआई के प्लैटफ़ॉर्म पर जांच के नतीजों को सही तरीके से बताया जा सकता है.

कई भाषाओं में उपलब्ध

Baज़ल, कई सामान्य प्रोग्रामिंग भाषाओं के साथ काम करता है. इनमें C++, Java, Kotlin, Python, Go, और Rust शामिल हैं. सिर्फ़ एक भाषा के मुहावरे बनाने वाले बिल्ड टूल तक सीमित रखे बिना, एक ही Basel के शुरू करने वाले ऐप में कई बाइनरी (उदाहरण के लिए, बैकएंड, वेब यूआई, और मोबाइल ऐप्लिकेशन) बनाई जा सकती हैं.

एक से ज़्यादा डेटा स्टोर करने की सुविधा

Basel को कई जगहों से सोर्स कोड इकट्ठा करने की सुविधा मिलती है: आपको अपनी डिपेंडेंसी को वेंडर करने की ज़रूरत नहीं है (हालांकि, ऐसा किया जा सकता है!), इसके बजाय, बैज को अपने सोर्स कोड या पहले से बने आर्टफ़ैक्ट की लोकेशन पर पॉइंट करें.उदाहरण के लिए, git डेटा स्टोर करने की जगह या Maven Central का इस्तेमाल करें. बाकी सब कुछ ऐसा ही होगा.

कई प्लैटफ़ॉर्म पर काम करता है

Baज़ल, Linux, macOS, Windows, और Android जैसे कई प्लैटफ़ॉर्म के लिए, एक साथ प्रोजेक्ट बना सकता है. साथ ही, इससे किसी एक प्लैटफ़ॉर्म के लिए कोड बनाने के साथ-साथ दूसरे प्लैटफ़ॉर्म पर कोड बनाने की क्रॉस-कंपाइलेशन सुविधाएं भी मिलती हैं.

चौड़ा नेटवर्क

इंडस्ट्री के जाने-माने लोग, Bagel को पसंद करते हैं. वे उन डेवलपर का एक बड़ा समुदाय बना रहे हैं जो Basel का इस्तेमाल करते हैं और उसके लिए अपना योगदान देते हैं. ऐसे टूल, सेवाएं, और दस्तावेज़ देखें. इनमें कंसल्टिंग और SaaS के ऑफ़र की जानकारी भी शामिल है. हमारे ओपन सोर्स सॉफ़्टवेयर डेटा स्टोर करने की जगहों में प्रोग्रामिंग भाषाओं के लिए सहायता जैसे एक्सटेंशन के बारे में जानें.