पाठ 6 / 23
कोड के रूप में पाइपलाइन
Pipelines को versioned YAML के रूप में define करें ताकि बदलाव application code की तरह reviewed और दोहराने योग्य हों।
विचार
पाइपलाइन-एज़-कोड का मतलब है बिल्ड/टेस्ट/डिप्लॉय स्टेप्स एक कॉन्फ़िग फ़ाइल (आमतौर पर 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-आधारित पाइपलाइन से तेज़ चलता है
- यह टेस्ट चरण की ज़रूरत हटा देता है
- यह tests की जरूरत खत्म करता है
- यह एप्लिकेशन कोड की तरह वर्ज़न-नियंत्रित, रिव्यू-योग्य और वापस लेने योग्य है
Answer
यह एप्लिकेशन कोड की तरह वर्ज़न-नियंत्रित, रिव्यू-योग्य और वापस लेने योग्य है — पाइपलाइन परिभाषा रिपॉज़िटरी में रहती है, इसलिए यह ट्रैक होती है, डिफ़ होती है, और ठीक उसी तरह रिव्यू होती है जैसे वह कोड जिसे यह बिल्ड और डिप्लॉय करती है।