Bitrise एक विशिष्ट CI/CD प्लेटफॉर्म है जो मोबाइल डेवलपमेंट के लिए बनाया गया है, जो तैयार Steps के आसपास निर्मित है — iOS और Android एप्लिकेशन को बनाने, हस्ताक्षर करने और प्रकाशित करने के लिए पूर्व-कॉन्फ़िगर मॉड्यूल। Bitrise, 2024 के अनुसार, प्लेटफॉर्म 400 से अधिक तैयार Steps का समर्थन करता है और Xcode, Gradle, Fastlane, Firebase और App Store Connect के साथ एकीकृत होता है।
मुख्य बिंदु
Bitrise एक CI/CD प्लेटफॉर्म है जिसे 2016 में लॉन्च किया गया और यह पूरी तरह से मोबाइल डेवलपमेंट पर केंद्रित है। GitHub Actions और GitLab CI जैसे सामान्य समाधानों के विपरीत, Bitrise मूल रूप से iOS और Android ऐप बिल्ड को स्वचालित करने के लिए डिज़ाइन किया गया था। प्लेटफॉर्म क्लाउड में काम करता है और macOS और Linux के साथ अपने स्वयं के होस्टेड रनर प्रदान करता है। Bitrise सभी लोकप्रिय मोबाइल स्टैक का समर्थन करता है: Swift, Kotlin, Flutter, React Native, Cordova और Xamarin।
Bitrise का मुख्य लाभ मोबाइल डेवलपमेंट के सामान्य कार्यों के लिए पूर्व-कॉन्फ़िगर Step टेम्पलेट हैं: Xcode बिल्ड, Gradle असेंबल, Fastlane, Firebase Distribution, TestFlight, Google Play। पाइपलाइन सेटअप विज़ुअल एडिटर के माध्यम से मिनटों में हो जाता है, और YAML कॉन्फ़िगरेशन स्वचालित रूप से bitrise.yml फ़ाइल में उत्पन्न होता है। अनुभवी उपयोगकर्ताओं के लिए, ऑटोकम्प्लीट के साथ YAML एडिटर उपलब्ध है।
Bitrise आर्किटेक्चर दो मुख्य अवधारणाओं पर बनाया गया है: Workflow और Step। Workflow Steps का एक अनुक्रम है जो पाइपलाइन को परिभाषित करता है। प्रत्येक प्रोजेक्ट में कई Workflows हो सकते हैं: प्राथमिक (मुख्य बिल्ड), डिप्लॉय (प्रकाशन), टेस्ट (केवल परीक्षण)। Workflow ट्रिगर्स द्वारा शुरू होता है: push, PR, tag या शेड्यूल पर। Workflows को वेब इंटरफ़ेस से मैन्युअल रूप से भी लॉन्च किया जा सकता है, जो आवश्यकतानुसार बिल्ड के लिए उपयोगी है।
Step एक परमाणु मॉड्यूल है जो एक एकल कार्य करता है। Steps को विज़ुअल एडिटर में खींचा जा सकता है, उनके क्रम और कॉन्फ़िगरेशन को बदला जा सकता है। Bitrise प्रदान करता है Xcode Archive & Export, Gradle Runner, CocoaPods Install, Firebase Distribution और Slack सूचनाओं के लिए Steps। समुदाय भी Steps बनाता है — वे Step Library के माध्यम से उपलब्ध हैं। प्रत्येक Step में अनिवार्य और वैकल्पिक इनपुट पैरामीटर होते हैं, साथ ही आउटपुट वेरिएबल जो बाद के Steps द्वारा उपयोग किए जा सकते हैं।
Bitrise Pipeline की अवधारणा का समर्थन करता है — एक पाइपलाइन में कई Workflows का संयोजन। एक Pipeline में सभी प्लेटफॉर्म के लिए प्राथमिक बिल्ड और डिप्लॉयमेंट और परीक्षण के लिए अलग Workflows शामिल हो सकते हैं। यह जटिल CI/CD प्रक्रियाएँ बनाने की अनुमति देता है जहाँ एक बिल्ड दूसरे को ट्रिगर करता है। Bitrise Stacks रनर पर पूर्व-स्थापित सॉफ़्टवेयर निर्धारित करते हैं: Xcode, Android SDK, Flutter, Node.js और अन्य उपकरण।
Bitrise GitHub, GitLab, Bitbucket और Azure DevOps के साथ एकीकृत होता है। रिपॉजिटरी कनेक्ट करते समय, Bitrise स्वचालित रूप से प्रोजेक्ट प्रकार (iOS, Android, Flutter) का पता लगाता है और Workflow टेम्पलेट सुझाता है। निजी रिपॉजिटरी के लिए, Bitrise OAuth या SSH कुंजी के माध्यम से पहुँच का अनुरोध करता है। एक एप्लिकेशन से कई रिपॉजिटरी कनेक्ट की जा सकती हैं।
कनेक्ट करने के बाद, Bitrise push और PR पर स्वचालित रूप से बिल्ड शुरू करने के लिए रिपॉजिटरी में एक वेबहुक बनाता है। प्रत्येक बिल्ड को एक अद्वितीय नंबर, लॉग और आर्टिफैक्ट मिलते हैं। इंटरफ़ेस बिल्ड इतिहास देखने, परिवर्तनों की तुलना करने और विफल बिल्ड को पुनः शुरू करने की अनुमति देता है। Bitrise नियमित रात्रिकालीन बिल्ड के लिए शेड्यूल्ड बिल्ड और कमिट ट्रैकिंग के लिए Jira एकीकरण का भी समर्थन करता है।
iOS के लिए कोड साइनिंग सबसे जटिल CI/CD कार्यों में से एक है, और Bitrise इसे यथासंभव सरलता से हल करता है। प्लेटफॉर्म प्रमाणपत्रों और प्रोविज़निंग प्रोफ़ाइल को एन्क्रिप्टेड रूप में संग्रहीत करता है, बिल्ड से पहले उन्हें स्वचालित रूप से उपयुक्त keychain में स्थापित करता है और हस्ताक्षरित IPA निर्यात करता है। Certificate and Profile Installer Step Bitrise स्टोरेज से फ़ाइलें डाउनलोड करता है और Xcode कॉन्फ़िगर करता है। Development, AdHoc, AppStore और Enterprise प्रमाणपत्र प्रकार समर्थित हैं।
App Store Connect में प्रकाशन के लिए, Bitrise Xcode Archive & Export के माध्यम से IPA अपलोड करने के लिए Steps प्रदान करता है। Google Play प्रकाशन Keystore हस्ताक्षर के साथ Gradle Runner का उपयोग करता है, जिसके बाद APK/AAB को Google Play Deploy Step के माध्यम से Google Play Console में अपलोड किया जाता है। Firebase App Distribution के लिए, Firebase Token और परीक्षक समूह निर्दिष्ट करना पर्याप्त है। Bitrise प्रत्येक प्रकाशन से पहले संस्करण संख्या और बिल्ड संख्या अद्यतन को स्वचालित करता है।
प्रमाणपत्र वेब इंटरफ़ेस के Code Signing अनुभाग में अपलोड किए जाते हैं: निजी कुंजी के साथ P12, प्रोविज़निंग प्रोफ़ाइल (.mobileprovision), Android के लिए Keystore (.jks/.keystore)। Bitrise स्वचालित रूप से प्रत्येक Workflow रन पर iOS प्रमाणपत्रों को keychain में स्थापित करता है और हस्ताक्षरित एप्लिकेशन निर्यात करता है। Android के लिए, बस Keystore फ़ाइल अपलोड करें — Bitrise इसे बिल्ड के दौरान पर्यावरण चर के माध्यम से Gradle को भेजता है।
आइए Flutter एप्लिकेशन के लिए एक Workflow देखें जो iOS और Android के लिए बिल्ड बनाता और प्रकाशित करता है। Bitrise स्वचालित रूप से Flutter प्रोजेक्ट का पता लगाता है और उपयुक्त Steps सुझाता है। Workflow में Flutter स्थापना, pub-cache कैशिंग, बिल्ड, परीक्षण और डिप्लॉयमेंट शामिल है। iOS बिल्ड के लिए, अतिरिक्त रूप से कोड साइनिंग प्रमाणपत्र आवश्यक हैं, जिन्हें Bitrise स्वचालित रूप से लोड करता है।
Flutter ऐप बनाते समय, Bitrise प्रत्येक प्लेटफॉर्म के लिए अलग कॉन्फ़िगरेशन का समर्थन करता है। Android बिल्ड Flutter SDK के साथ Linux रनर पर चलते हैं, iOS macOS रनर पर। Workflow में सशर्त Steps शामिल हो सकते हैं: build_android और build_ios, जो केवल संबंधित प्लेटफॉर्म पर चलते हैं। React Native प्रोजेक्ट्स के लिए, Bitrise npm/nvm और Metro bundler के साथ Steps का समान सेट प्रदान करता है।
format_version: 13
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
trigger_map:
- push_branch: main
workflow: primary
workflows:
primary:
steps:
- activate-ssh-key@4:
run_if: true
- git-clone@8: {}
- flutter-installer@0:
inputs:
- version: 3.24.0
- flutter-build@0:
inputs:
- platform: both
- ios_output_type: archive
- deploy-to-bitrise-io@2: {}
बिल्ड के बाद, iOS और Android के लिए Firebase App Distribution Step जोड़ा जा सकता है। Step स्वीकार करता है firebase_token, app_id और testers_group। Bitrise Secrets से मानों को प्रतिस्थापित करता है — सुरक्षित टोकन भंडारण सुनिश्चित करता है कि वे लॉग में न आएँ।
- firebase-app-distribution@1:
inputs:
- firebase_token: $FIREBASE_TOKEN
- app_id: $FIREBASE_IOS_APP_ID
- testers_group: qa-team
- release_notes: |
Build $BITRISE_BUILD_NUMBER
गोपनीय डेटा का उचित प्रबंधन CI/CD प्रक्रियाओं की सुरक्षा का आधार है। Bitrise Secrets एन्क्रिप्टेड होते हैं और सहेजने के बाद पढ़े नहीं जा सकते। नया एप्लिकेशन बनाते समय, Bitrise किसी अन्य प्रोजेक्ट से Secrets आयात करने या मैन्युअल रूप से सेट करने की सुविधा प्रदान करता है। बड़ी टीमों के लिए, Environment Groups सुविधा उपलब्ध है — एप्लिकेशन के समूह के लिए चर और Secrets का केंद्रीकृत प्रबंधन।
Bitrise गोपनीय डेटा के लिए अंतर्निहित Secrets भंडारण प्रदान करता है: API कुंजियाँ, Firebase टोकन, Keystore पासवर्ड, Apple ID। Secrets को वेब इंटरफ़ेस में कुंजी-मूल्य जोड़े के रूप में परिभाषित किया जाता है और बिल्ड लॉग में मास्क किया जाता है। वे एप्लिकेशन स्तर और Workflow स्तर पर उपलब्ध हैं। Secrets को सहेजने के बाद पढ़ा नहीं जा सकता — उन्हें केवल अधिलेखित किया जा सकता है।
पर्यावरण चर (Secret चिह्न के बिना) कॉन्फ़िगरेशन के लिए उपयोग किए जाते हैं: Xcode संस्करण, प्रोजेक्ट पथ, बिल्ड स्कीम। Bitrise पर्यावरण चर (BITRISE_BUILD_NUMBER, BITRISE_APP_TITLE) बिल्ड के बारे में मेटा-जानकारी प्रदान करते हैं। Secrets भंडारण के दौरान एन्क्रिप्ट किए जाते हैं और Workflow निष्पादन के दौरान केवल रनर पर डिक्रिप्ट किए जाते हैं। चरों के समूह प्रबंधन के लिए, Bitrise Environment Groups का समर्थन करता है — एक साथ कई एप्लिकेशन पर लागू चरों के सेट।
Bitrise के माध्यम से iOS प्रमाणपत्र प्रबंधन विशेष ध्यान देने योग्य है। प्लेटफॉर्म स्वचालित रूप से बिल्ड से पहले P12 और प्रोविज़निंग प्रोफ़ाइल को सिस्टम keychain में स्थापित करता है। Android के लिए, Keystore फ़ाइल का उपयोग किया जाता है, जिसे Code Signing अनुभाग में अपलोड किया जाता है। प्रत्येक प्रमाणपत्र फ़ाइल एन्क्रिप्टेड रूप में संग्रहीत होती है और केवल बिल्ड के दौरान डिक्रिप्ट की जाती है।
- google-play-deploy@3:
inputs:
- package_name: com.example.app
- service_account_json_key: $SERVICE_ACCOUNT_KEY
- app_file: $BITRISE_APK_PATH
Bitrise बिल्ड के लिए विभिन्न स्टैक प्रदान करता है — उपकरणों और SDK के साथ पूर्व-स्थापित इमेज। उपलब्ध स्टैक में Xcode (संस्करण 14, 15, 16 iOS SDK 17, 18 के साथ), Android (SDK और NDK के विभिन्न संस्करणों के साथ), Flutter, React Native और Kotlin Multiplatform शामिल हैं। प्रत्येक स्टैक में पूर्व-स्थापित उपकरणों और संस्करणों का विवरण होता है।
स्टैक का चयन बिल्ड समय और प्रोजेक्ट अनुकूलता को प्रभावित करता है। Bitrise नियमित रूप से स्टैक को अपडेट करता है, नए उपकरण संस्करण जोड़ता है। प्लेटफॉर्म अपडेट होने पर अप्रत्याशित परिवर्तनों से बचने के लिए bitrise.yml में स्टैक के एक विशिष्ट संस्करण को फिक्स किया जा सकता है। कस्टम निर्भरताओं के लिए, Script Step का उपयोग मुख्य बिल्ड से पहले आवश्यक पैकेज स्थापित करने के लिए किया जाता है। Bitrise Linux स्टैक के लिए Docker इमेज का भी समर्थन करता है, जो Android बिल्ड के लिए कस्टम वातावरण की अनुमति देता है।
अक्सर पूछे जाने वाले प्रश्न
Bitrise एक मुफ़्त योजना प्रदान करता है जिसमें प्रति माह 90 बिल्ड मिनट और एक समवर्ती बिल्ड है। Developer ($79/माह) में 3000 मिनट, 5 समवर्ती बिल्ड और सभी एकीकरण शामिल हैं। Enterprise — अनुकूलित मूल्य निर्धारण।
Bitrise iOS (Swift, Objective-C), Android (Kotlin, Java), Flutter, React Native, Cordova, Ionic और Xamarin का समर्थन करता है। प्रत्येक प्लेटफॉर्म के लिए पूर्व-स्थापित उपकरण और Workflow टेम्पलेट हैं।
Bitrise बिना अतिरिक्त सेटअप के iOS बिल्ड के लिए macOS रनर प्रदान करता है। प्लेटफॉर्म macOS बुनियादी ढाँचे को स्वचालित रूप से प्रबंधित करता है — रनर एप्लिकेशन स्टैक के अनुसार चुना जाता है।
Bitrise प्रमाणपत्रों को एन्क्रिप्टेड रूप में संग्रहीत करता है और Certificate and Profile Installer Step के माध्यम से बिल्ड से पहले उन्हें स्वचालित रूप से keychain में स्थापित करता है। Android के लिए समान रूप से — Keystore अपलोड किया जाता है और हस्ताक्षर के दौरान Gradle द्वारा उपयोग किया जाता है।
हाँ, Bitrise Script Step (bash स्क्रिप्ट) और GitHub से कस्टम Step Libraries के माध्यम से कस्टम Steps का समर्थन करता है। आप Bitrise दस्तावेज़ीकरण के अनुसार अपना स्वयं का Step बना सकते हैं और इसे Step Library में प्रकाशित कर सकते हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें