पाठ 6 / 21

कोड के रूप में पाइपलाइन

पाइपलाइन को खुद एक वर्ज़न-नियंत्रित YAML फ़ाइल में परिभाषित करना।

विचार

पाइपलाइन-एज़-कोड का मतलब है बिल्ड/टेस्ट/डिप्लॉय स्टेप्स एक कॉन्फ़िग फ़ाइल (आमतौर पर YAML) में लिखे जाते हैं जो सोर्स कोड के साथ रिपॉज़िटरी में रहती है — किसी UI में क्लिक करके नहीं बनाई जाती।

पाइपलाइन फ़ाइल का ढाँचा

अधिकतर पाइपलाइन-एज़-कोड फ़ाइलें इस ढाँचे को साझा करती हैं: एक ट्रिगर, फिर चरणों की सूची, हर एक में चलाने वाले कमांड।

on: [push]

stages:
  - build:
      run: npm run build
  - test:
      run: npm test
  - deploy:
      run: ./deploy.sh
      when: branch == main

Output:

Committed to the repo, reviewed like any other code change

यह UI में क्लिक करने से बेहतर क्यों

क्योंकि पाइपलाइन वर्ज़न कंट्रोल में रहती है, इसमें बदलाव पुल रिक्वेस्ट से गुज़रते हैं, रिव्यू होते हैं, और वापस लिए जा सकते हैं — बिल्कुल एप्लिकेशन कोड की तरह।

त्वरित जाँच: UI से पाइपलाइन कॉन्फ़िगर करने की तुलना में पाइपलाइन-एज़-कोड का मुख्य फ़ायदा क्या है?

  • यह किसी भी UI-आधारित पाइपलाइन से तेज़ चलता है
  • यह एप्लिकेशन कोड की तरह वर्ज़न-नियंत्रित, रिव्यू-योग्य और वापस लेने योग्य है
  • यह टेस्ट चरण की ज़रूरत हटा देता है
Answer

यह एप्लिकेशन कोड की तरह वर्ज़न-नियंत्रित, रिव्यू-योग्य और वापस लेने योग्य है — पाइपलाइन परिभाषा रिपॉज़िटरी में रहती है, इसलिए यह ट्रैक होती है, डिफ़ होती है, और ठीक उसी तरह रिव्यू होती है जैसे वह कोड जिसे यह बिल्ड और डिप्लॉय करती है।