CircleCI: मूल बातें, orbs और सतत एकीकरण

लेखक: IT Sectr प्रकाशित: 2026-04-13 पढ़ने का समय: 8 मिनट

CircleCI एक क्लाउड CI/CD प्लेटफ़ॉर्म है जो iOS और Android के लिए मोबाइल ऐप्स सहित सॉफ़्टवेयर के बिल्ड, परीक्षण और डिप्लॉयमेंट को स्वचालित करता है। CircleCI, 2024 के अनुसार, प्लेटफ़ॉर्म मासिक रूप से 30 मिलियन से अधिक बिल्ड प्रोसेस करता है और orbs — लोकप्रिय टूल के लिए तैयार कॉन्फ़िगरेशन पैकेज पर आधारित एक अनूठी आर्किटेक्चर प्रदान करता है।

मुख्य बातें

  • CircleCI — मोबाइल बिल्ड, Docker और macOS वातावरण के समर्थन के साथ क्लाउड CI/CD प्लेटफ़ॉर्म
  • Orb — तैयार YAML कॉन्फ़िगरेशन पैकेज जो लोकप्रिय टूल और सेवाओं की सेटअप को सरल बनाता है
  • Executor — जॉब निष्पादन वातावरण: Docker इमेज, Linux VM, macOS या Windows
  • Parallelism — समानांतर निष्पादन के लिए परीक्षणों को कई कंटेनरों में विभाजित करना
  • Caching रनों के बीच निर्भरताओं को संरक्षित करता है, बिल्ड समय को 3–5 गुना कम करता है

CircleCI क्या है?

CircleCI एक क्लाउड CI/CD प्लेटफ़ॉर्म है जिसकी स्थापना 2011 में हुई थी। सिस्टम आपको YAML फ़ाइल .circleci/config.yml में पाइपलाइनों का वर्णन करने और उन्हें अलग-थलग कंटेनरों या वर्चुअल मशीनों में चलाने की अनुमति देता है। CircleCI Android, iOS, Flutter और React Native सहित सभी लोकप्रिय भाषाओं और प्लेटफ़ॉर्म का समर्थन करता है।

मोबाइल डेवलपमेंट के लिए, CircleCI पूर्व-स्थापित Xcode के साथ iOS बिल्ड के लिए macOS executors, Android SDK के साथ Linux executors, साथ ही Gradle और CocoaPods के लिए कैशिंग प्रदान करता है। एक प्रमुख विशेषता orbs है, जो एक पंक्ति में तैयार कॉन्फ़िगरेशन को प्लग इन करने की अनुमति देता है: orb: android, orb: ios, orb: flutter। CircleCI स्वचालित रूप से प्रोजेक्ट प्रकार का पता लगाता है और रिपॉजिटरी को पहली बार कनेक्ट करने पर एक टेम्पलेट कॉन्फ़िगरेशन सुझाता है।

प्लेटफ़ॉर्म डिबगिंग के लिए चल रहे कंटेनरों में SSH एक्सेस का समर्थन करता है — विफल बिल्ड के समस्या निवारण के लिए एक उपयोगी सुविधा। CircleCI CLI आपको स्थानीय रूप से कॉन्फ़िगरेशन को मान्य और चलाने, orbs प्रबंधित करने और लॉग देखने की अनुमति देता है। प्लेटफ़ॉर्म वेबहुक सिस्टम के माध्यम से GitHub, GitHub Enterprise, Bitbucket और GitLab के साथ एकीकृत होता है।

CircleCI आर्किटेक्चर: Orbs, Executors और Contexts

CircleCI आर्किटेक्चर में तीन स्तर होते हैं: Pipeline, Workflow और Job। Pipeline कमिट पर ट्रिगर होने वाली मूल प्रक्रिया है। Pipeline में Workflows — Jobs का एक ग्राफ़ होता है जो क्रमिक या समानांतर रूप से चल सकता है। प्रत्येक Job एक Executor — एक विशिष्ट इमेज वाले वातावरण पर चलता है। एक Workflow में approval gates — डिप्लॉयमेंट से पहले मैन्युअल पुष्टिकरण शामिल हो सकता है।

Orbs पुन: प्रयोज्य YAML कॉन्फ़िगरेशन पैकेज हैं जो CircleCI Orb Registry के माध्यम से वितरित किए जाते हैं। एक Orb में jobs, commands, executors और उदाहरण हो सकते हैं। लोकप्रिय orbs: android, ios, flutter, firebase, slack। उदाहरण के लिए, android orb जोड़ना 50+ लाइनों को एक पंक्ति से बदल देता है। CircleCI CLI आपको संगठन में पाइपलाइनों को मानकीकृत करने के लिए अपने स्वयं के orbs बनाने, परीक्षण करने और प्रकाशित करने की अनुमति देता है।

Executor प्रकार

Executorइसके लिए उपयुक्तबिल्ड वातावरण
DockerAndroid, BackendLinux कंटेनर
macOSiOS, macOSXcode के साथ macOS VM
MachineDocker-in-DockerUbuntu VM
Windows.NET, WinUIWindows Server

Contexts संगठन स्तर पर उपलब्ध एनवायरनमेंट वेरिएबल्स के नामित सेट हैं। उदाहरण के लिए, app-store-credentials कॉन्टेक्स्ट में App Store में प्रकाशन के लिए Apple ID और पासवर्ड होता है। यह दोहराव के बिना प्रोजेक्ट्स के बीच secrets प्रबंधन को सरल बनाता है।

Android और iOS प्रोजेक्ट्स के लिए CircleCI सेटअप

Android प्रोजेक्ट के लिए, CircleCI Android SDK के साथ cibuilds/android Docker इमेज का उपयोग करता है। एक विशिष्ट वर्कफ़्लो में शामिल है: checkout, JDK इंस्टॉलेशन, Gradle कैशिंग, बिल्ड, परीक्षण निष्पादन। iOS के लिए, Xcode और कोड साइनिंग सेटअप के साथ macOS executor की आवश्यकता होती है। पहली बार कनेक्ट होने पर, CircleCI स्वचालित रूप से प्रोजेक्ट प्रकार का पता लगाता है और अनुशंसित सेटिंग्स के साथ एक बुनियादी कॉन्फ़िगरेशन उत्पन्न करता है।

Flutter प्रोजेक्ट्स के लिए, CircleCI circleci/flutter orb प्रदान करता है, जिसमें Linux और macOS के लिए पूर्व-स्थापित Flutter SDK वाले executors शामिल हैं। Orb समर्थन करता है दोनों प्लेटफ़ॉर्म के लिए बिल्ड, pub-cache कैशिंग और परीक्षण चलाना। सेटअप Flutter संस्करण और बिल्ड कमांड निर्दिष्ट करने तक सीमित है। कस्टम Flutter या Dart संस्करणों के लिए, आवश्यक SDK के साथ Docker इमेज का उपयोग किया जा सकता है। Flutter orb उन्नत विकल्पों का भी समर्थन करता है — उदाहरण के लिए, बिल्ड से पहले dart analyze के माध्यम से कोड विश्लेषण।

Android Orb — त्वरित प्रारंभ

CircleCI का Android orb तैयार jobs प्रदान करता है: build-and-test, deploy-to-play-store। Orb स्वचालित रूप से वातावरण, कैशिंग और हस्ताक्षर कॉन्फ़िगर करता है। Orb जोड़ने के बाद, आपको केवल SDK संस्करण और बिल्ड कमांड निर्दिष्ट करने की आवश्यकता है।

macOS Executor के साथ iOS बिल्ड

iOS बिल्ड के लिए, executor को Xcode संस्करण के साथ macos पर सेट किया जाता है। CircleCI प्रदान करता है Xcode 14, 15 और 16 के साथ इमेज। Checkout के बाद, कोड xcodebuild के माध्यम से संकलित किया जाता है, और परीक्षण सिम्युलेटर पर चलाए जाते हैं। कोड साइनिंग fastlane match या मैन्युअल प्रमाणपत्र इंस्टॉलेशन के माध्यम से कॉन्फ़िगर की जाती है।

कैशिंग और समानांतर निष्पादन

कैशिंग CircleCI में एक प्रमुख प्रदर्शन तत्व है। कैश तंत्र एक कुंजी का उपयोग करके वर्कफ़्लो रन के बीच निर्देशिकाओं को सहेजता है। Gradle के लिए, ~/.gradle कैश किया जाता है; CocoaPods के लिए — Pods/; npm/SPM के लिए — node_modules/.build। जब लॉक फ़ाइल बदलती है, तो कैश स्वचालित रूप से अपडेट हो जाता है। CircleCI अलग-अलग नीतियों का समर्थन करता है: save_cache विलंबित हो सकता है (when: always), जबकि restore_cache अनिवार्य है।

समानांतरता resource class के साथ मिलकर बिल्ड प्रदर्शन को ठीक करने की अनुमति देती है। Resource class एक कंटेनर के लिए CPU और RAM निर्धारित करता है: small (1 CPU, 2 GB), medium (2 CPU, 4 GB), medium+ (3 CPU, 5 GB) और large (4 CPU, 8 GB)। Xcode के साथ iOS बिल्ड के लिए, medium या larger resource class के साथ macOS executor का उपयोग करने की अनुशंसा की जाती है — Swift कोड संकलन के लिए महत्वपूर्ण संसाधनों की आवश्यकता होती है।

समानांतरता परीक्षणों को कई कंटेनरों में विभाजित करती है, जिससे चलने का समय कम हो जाता है। उदाहरण के लिए: parallelism: 4 परीक्षणों को 4 समानांतर कंटेनरों में चलाता है। CircleCI स्वचालित रूप से परीक्षण फ़ाइलों को कंटेनरों में वितरित करता है। circleci tests glob कमांड परीक्षण सूची एकत्र करता है, और circleci tests split उन्हें समान रूप से वितरित करता है।

Gradle कैशिंग का उदाहरण

yaml
- restore_cache:
    keys:
      - v1-gradle-{{ checksum "build.gradle" }}
      - v1-gradle-

- run: ./gradlew assembleDebug

- save_cache:
    key: v1-gradle-{{ checksum "build.gradle" }}
    paths:
      - ~/.gradle/caches
      - ~/.gradle/wrapper

.circleci/config.yml कॉन्फ़िगरेशन का उदाहरण

आइए दो jobs — build और test — के साथ Android प्रोजेक्ट के लिए एक पूर्ण CircleCI कॉन्फ़िगरेशन देखें। कॉन्फ़िगरेशन में शामिल है Android SDK के साथ Docker executor, Gradle कैशिंग और समानांतर परीक्षण निष्पादन। Artifacts डाउनलोड के लिए सहेजे जाते हैं। build-and-test वर्कफ़्लो मुख्य शाखा पर प्रत्येक push पर दोनों jobs चलाता है।

yaml
version: 2.1

orbs:
  android: circleci/android@2.5.0

jobs:
  build:
    executor: android/default
    steps:
      - checkout
      - android/restore-gradle-cache
      - run: ./gradlew assembleRelease
      - android/save-gradle-cache
      - store_artifacts:
          path: app/build/outputs/apk/release
      - store_test_results:
          path: app/build/reports/tests

  test:
    executor: android/default
    parallelism: 4
    steps:
      - checkout
      - android/restore-gradle-cache
      - run:
          command: |
            cd app
            ./gradlew test

workflows:
  version: 2
  build-and-test:
    jobs:
      - build
      - test

Orbs: तैयार CI/CD समाधान

CircleCI और विकल्पों के बीच चयन करते समय — यदि आपकी टीम GitHub का उपयोग करती है, तो GitHub Actions एक सरल विकल्प हो सकता है। CircleCI उन टीमों के लिए बेहतर है जिन्हें लचीले समानांतर परीक्षण निष्पादन, कस्टम executor वातावरण कॉन्फ़िगरेशन और विस्तृत बिल्ड आँकड़ों की आवश्यकता होती है। CircleCI Insights पाइपलाइन प्रदर्शन मीट्रिक के साथ एक डैशबोर्ड प्रदान करता है: औसत बिल्ड समय, रुझान और बाधाएँ। Insights लंबे समय तक चलने वाली jobs की पहचान करने और उन्हें अनुकूलित करने में मदद करता है। CircleCI API आपको प्रोग्रामेटिक रूप से पाइपलाइनों का प्रबंधन करने, बिल्ड ट्रिगर करने और मीट्रिक प्राप्त करने की अनुमति देता है।

सुरक्षित secrets प्रबंधन के लिए, CircleCI Contexts — संगठन स्तर पर एनवायरनमेंट वेरिएबल्स के नामित सेट — का समर्थन करता है। Contexts संरक्षित हैं भूमिका-आधारित एक्सेस द्वारा: केवल विशिष्ट टीमें ही किसी विशेष कॉन्टेक्स्ट का उपयोग कर सकती हैं। उदाहरण के लिए, production-deploy कॉन्टेक्स्ट में App Store Connect कुंजियाँ होती हैं और यह केवल लीड डेवलपर्स के लिए उपलब्ध है। अनुमोदन गेट के साथ मिलकर, यह एक व्यापक CI/CD सुरक्षा प्रणाली बनाता है।

CircleCI Orb Registry में विभिन्न CI/CD कार्यों के लिए सैकड़ों तैयार पैकेज हैं। मोबाइल डेवलपमेंट के लिए, प्रमुख orbs में शामिल हैं: circleci/android, circleci/ios, circleci/flutter, laurencerussell/firebase-app-distribution। प्रत्येक orb का संस्करण और दस्तावेज़ीकरण है। Orbs सार्वजनिक (सभी के लिए उपलब्ध) या निजी (केवल आपके संगठन के लिए) हो सकते हैं।

Orbs का उपयोग कॉन्फ़िगरेशन को 5–10 गुना कम करता है। उदाहरण के लिए, circleci/android orb पूर्व-स्थापित SDK और restore-gradle-cache, save-gradle-cache कमांड के साथ android/default executor प्रदान करता है। circleci/ios orb में Xcode वाला executor और fastlane के माध्यम से कोड साइनिंग के लिए कमांड शामिल हैं। Orbs को आसानी से जोड़ा जा सकता है: बिल्ड के लिए android orb और सूचनाओं के लिए slack orb जोड़ें।

CircleCI बिल्ट-इन टेस्ट रिपोर्ट समर्थन भी प्रदान करता है। Store_test_results स्वचालित रूप से JUnit, XCTest और अन्य प्रारूपों से परीक्षण परिणामों को पार्स और विज़ुअलाइज़ करता है। मोबाइल प्रोजेक्ट्स के लिए, इसका मतलब विफल परीक्षणों, रनटाइम रुझानों और बिल्ड स्थिरता इतिहास का केंद्रीकृत दृश्य है, जो कोड गुणवत्ता रखरखाव को सरल बनाता है।

iOS Orb के साथ उदाहरण

yaml
orbs:
  ios: circleci/ios@2.0.0

jobs:
  build-and-test:
    executor: ios/default
    steps:
      - checkout
      - ios/install-dependencies
      - ios/build-and-test

कस्टम orb प्रकाशित करना CircleCI CLI के माध्यम से उपलब्ध है। circleci orb create और circleci orb publish कमांड orb को रजिस्ट्री पर अपलोड करते हैं। यह संगठन के भीतर CI/CD को मानकीकृत करने के लिए उपयोगी है — एक बार बनाएं, सभी प्रोजेक्ट्स में उपयोग करें।

अक्सर पूछे जाने वाले प्रश्न

CircleCI की कीमत कितनी है?

CircleCI एक मुफ्त योजना प्रदान करता है जिसमें एक कंटेनर के लिए प्रति माह 6000 मिनट शामिल हैं। Performance Plan ($30/माह) में 10 समानांतर jobs और 14,000 मिनट शामिल हैं। Scale Plan — असीमित समानांतरता के साथ कस्टम मूल्य निर्धारण।

CircleCI में orbs क्या हैं?

Orbs पुन: प्रयोज्य YAML कॉन्फ़िगरेशन पैकेज हैं जो आधिकारिक रजिस्ट्री के माध्यम से वितरित किए जाते हैं। उनमें लोकप्रिय टूल और प्लेटफ़ॉर्म के लिए तैयार jobs, commands और executors होते हैं।

क्या CircleCI iOS बिल्ड का समर्थन करता है?

हाँ, CircleCI पूर्व-स्थापित Xcode (संस्करण 14, 15, 16) के साथ macOS executor का समर्थन करता है। iOS 17 और 18, watchOS और tvOS के लिए इमेज उपलब्ध हैं। कोड साइनिंग fastlane match या मैन्युअल रूप से कॉन्फ़िगर की जाती है।

CircleCI में समानांतर परीक्षण निष्पादन कैसे काम करता है?

Job में parallelism: N निर्दिष्ट करें — CircleCI परीक्षणों को N कंटेनरों में विभाजित करेगा। circleci tests split कमांड परीक्षणों को समान रूप से वितरित करता है। परीक्षण समानांतर रूप से चलते हैं, कंटेनरों की संख्या के अनुपात में कुल समय कम करते हैं।

CircleCI GitHub Actions से कैसे अलग है?

CircleCI अधिक लचीले executors (Docker, macOS, Machine, Windows), एक उन्नत orb प्रणाली, बिल्ट-इन समानांतर परीक्षण विभाजन और विस्तृत बिल्ड artifacts प्रदान करता है। GitHub Actions GitHub एकीकरण और सरलता में बेहतर है।

सारांश

  • CircleCI — मोबाइल प्रोजेक्ट्स के लिए Docker, macOS और Windows executors के साथ क्लाउड CI/CD प्लेटफ़ॉर्म
  • Orbs — तैयार YAML कॉन्फ़िगरेशन पैकेज जो पाइपलाइन सेटअप को 5–10 गुना कम करते हैं
  • Executor निष्पादन वातावरण को परिभाषित करता है — Android के लिए Docker, iOS के लिए macOS VM, Docker-in-Docker के लिए Machine
  • Parallelism परीक्षणों को कई कंटेनरों में विभाजित करता है, चलने के समय को आनुपातिक रूप से कम करता है
  • Caching restore_cache और save_cache के माध्यम से उचित कुंजी कॉन्फ़िगरेशन के साथ बिल्ड को 3–5 गुना तेज़ करता है
  • Contexts — क्रॉस-प्रोजेक्ट एक्सेस के साथ संगठन स्तर पर सुरक्षित secrets भंडारण
  • iOS orb और Android orb मोबाइल ऐप्स के बिल्ड, परीक्षण और डिप्लॉयमेंट के लिए तैयार jobs प्रदान करते हैं

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें