CI/CD पाइपलाइन में Terraform
Jenkins, GitLab CI या GitHub Actions जैसे लोकप्रिय टूल का उपयोग करके Terraform कमांड को CI/CD पाइपलाइन में शामिल करना समझें।
CI/CD पाइपलाइन में Terraform, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
CI/CD और Terraform में आपका स्वागत है
स्वागत है! इस पाठ में हम Terraform की शक्ति को सतत एकीकरण/सतत डिलीवरी (CI/CD) पाइपलाइनों से जोड़ेंगे।
CI/CD आपके सॉफ़्टवेयर डिलीवरी की प्रक्रिया में कोड बदलाव से लेकर परिनियोजन तक के चरणों को स्वचालित करता है। इसका उद्देश्य परिनियोजन को तेज़, सुरक्षित और अधिक विश्वसनीय बनाना है।
Terraform को स्वचालित क्यों करें
CI/CD के साथ Terraform को स्वचालित करने के कई लाभ हैं:
- एकरूपता: हर परिनियोजन में समान चरणों का पालन होता है, जिससे विचलन कम होता है।
- गति: अवसंरचना में बदलाव मैन्युअल प्रक्रियाओं की तुलना में बहुत तेज़ी से परिनियोजित होते हैं।
- विश्वसनीयता: मानवीय त्रुटि कम होती है और हर बार दोहराए जा सकने वाले परिणाम सुनिश्चित होते हैं।
- सहयोग: टीमें संस्करण नियंत्रण के माध्यम से अवसंरचना कोड पर साथ काम कर सकती हैं।
Terraform का मुख्य CI/CD प्रवाह
CI/CD पाइपलाइन में सामान्य Terraform कार्यप्रवाह में ये मुख्य कमांड शामिल होते हैं:
terraform init: कार्य निर्देशिका को प्रारंभ करता है और प्रदाता डाउनलोड करता है।terraform plan: बिना लागू किए दिखाता है कि अवसंरचना में कौन-से बदलाव किए जाएँगे।terraform apply: संसाधनों को बनाने, अद्यतन करने या हटाने के लिए नियोजित बदलावों को लागू करता है।
ये कमांड आपके CI/CD सिस्टम द्वारा चलाए जाते हैं, मैन्युअल रूप से नहीं!
GitHub Actions - मूल बातें
GitHub Actions एक लोकप्रिय CI/CD उपकरण है। कार्यप्रवाह आपकी रिपॉज़िटरी की .github/workflows/ निर्देशिका में YAML फ़ाइलों में परिभाषित किए जाते हैं।
यहाँ Terraform कार्यप्रवाह की एक मूल संरचना है:
name: Terraform CI
on:
push:
branches:
- main
jobs:
terraform:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
# Terraform steps will go hereGHA: Terraform प्रारंभ करना
पहला महत्वपूर्ण चरण हमेशा terraform init होता है। यह कमांड आवश्यक प्रदाता प्लग-इन डाउनलोड करके और स्थिति प्रबंधन के लिए बैकएंड सेट करके आपकी कार्य निर्देशिका तैयार करता है।
अपनी पाइपलाइन की जॉब में किसी भी अन्य Terraform कमांड से पहले इसे चलाना आवश्यक है।
- name: Terraform Init
id: init
run: terraform initGHA: Terraform बदलावों की योजना बनाना
प्रारंभ करने के बाद हम terraform plan चलाते हैं। यह कमांड आपके वर्तमान Terraform कॉन्फ़िगरेशन की तुलना आपकी अवसंरचना की वास्तविक स्थिति और दूरस्थ स्थिति फ़ाइल से करता है।
यह एक निष्पादन योजना बनाता है, जिसमें ठीक-ठीक दिखाया जाता है कि Terraform कौन-सी कार्रवाइयाँ करेगा (जैसे, बनाना, अद्यतन करना, नष्ट करना), बिना कोई वास्तविक बदलाव किए। समीक्षा के लिए यह बहुत महत्वपूर्ण है!
- name: Terraform Plan
id: plan
run: terraform plan -no-colorGHA: बदलावों को शर्त के आधार पर लागू करना
terraform apply कमांड योजना में बताए गए बदलावों को लागू करता है। CI/CD में यह चरण लगभग हमेशा किसी शर्त पर निर्भर होता है।
उदाहरण के लिए, यह केवल तब चल सकता है जब बदलाव आपकी main शाखा में मर्ज किए जाएँ, या उत्पादन परिनियोजन से पहले मानवीय निगरानी सुनिश्चित करने के लिए मैन्युअल अनुमोदन के बाद चले।
- name: Terraform Apply
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: terraform apply -auto-approveGitHub Actions से आगे
यद्यपि हमने अपने उदाहरण में GitHub Actions का उपयोग किया है, Terraform को CI/CD के साथ एकीकृत करने की मूल अवधारणाएँ अन्य लोकप्रिय उपकरणों पर भी लागू होती हैं:
- Jenkins: Terraform कमांड के लिए शेल स्क्रिप्ट के साथ चरण परिभाषित करें।
- GitLab CI/CD: जॉब और स्क्रिप्ट निर्दिष्ट करने के लिए
.gitlab-ci.ymlका उपयोग करें। - Azure DevOps Pipelines: समर्पित Terraform कार्यों या स्क्रिप्ट चरणों वाली YAML-आधारित पाइपलाइनों का उपयोग करें।
Terraform कमांड समान रहते हैं; केवल पाइपलाइन परिभाषा का वाक्यविन्यास बदलता है।
CI/CD के सर्वोत्तम अभ्यास
Terraform को CI/CD के साथ एकीकृत करते समय इन महत्वपूर्ण सर्वोत्तम अभ्यासों पर विचार करें:
- दूरस्थ स्थिति: सुरक्षित और सहयोगात्मक स्थिति प्रबंधन के लिए हमेशा दूरस्थ स्थिति बैकएंड (जैसे S3) का उपयोग करें।
- स्थिति लॉकिंग: एक साथ चलने वाली लागू प्रक्रियाओं को रोकने के लिए स्थिति लॉकिंग लागू करें।
- पर्यावरण चर: क्लाउड साख जैसे संवेदनशील डेटा के लिए CI/CD सीक्रेट/चर का उपयोग करें।
- अलग-अलग वातावरण: अलग कॉन्फ़िगरेशन या Terraform वर्कस्पेस का उपयोग करके विकास, स्टेजिंग और उत्पादन वातावरण प्रबंधित करें।
पाइपलाइन एकीकरण जाँच
Terraform को CI/CD पाइपलाइन के साथ एकीकृत करने के मुख्य लाभों में निम्नलिखित में से कौन-से शामिल हैं?
पुनरावलोकन: CI/CD में Terraform
आपने Terraform को CI/CD पाइपलाइनों के साथ एकीकृत करना सीख लिया है! हमने ये बातें सीखीं:
- Terraform परिनियोजनों को स्वचालित करने के महत्वपूर्ण लाभ।
- मुख्य कार्यप्रवाह कमांड:
init,plan, औरapply। - GitHub Actions को उदाहरण के रूप में उपयोग करके इन चरणों को लागू करने का तरीका।
- मज़बूत Terraform CI/CD एकीकरण के लिए सामान्य सर्वोत्तम प्रक्रियाएँ।
अपने बुनियादी ढाँचे के परिनियोजनों को स्वचालित करने से वे आपकी टीम और विभिन्न परिवेशों में अधिक कुशल, विश्वसनीय और सुसंगत बनते हैं।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “CI/CD पाइपलाइन में Terraform” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “CI/CD पाइपलाइन में Terraform” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“CI/CD पाइपलाइन में Terraform” में मैं क्या सीखूँगा?
Jenkins, GitLab CI या GitHub Actions जैसे लोकप्रिय टूल का उपयोग करके Terraform कमांड को CI/CD पाइपलाइन में शामिल करना समझें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“CI/CD पाइपलाइन में Terraform” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- CI/CD पाइपलाइन में Terraform
- `plan` और `apply` का स्वचालन
- सुरक्षित क्रेडेंशियल प्रबंधन
- GitOps और पुल अनुरोध स्वचालन