Terraform और GitHub Actions के साथ IaC
जानिए कि आधारभूत संरचना का प्रावधान और प्रबंधन करने के लिए Terraform को अपने GitHub Actions वर्कफ़्लो में कैसे एकीकृत किया जाता है।
Terraform और GitHub Actions के साथ IaC, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कोड के रूप में आधारभूत संरचना (IaC)
स्वागत है! इस पाठ में हम कोड के रूप में आधारभूत संरचना (IaC) के बारे में विस्तार से जानेंगे। इस तरीके में सर्वर, डेटाबेस और नेटवर्क जैसी अपनी आधारभूत संरचना को मैन्युअल प्रक्रियाओं के बजाय कोड का उपयोग करके प्रबंधित और तैयार किया जाता है।
इसे अपनी आधारभूत संरचना के लिए सॉफ़्टवेयर लिखने जैसा समझें। इससे आपके पूरे सेटअप में एकरूपता, दोहराने योग्य परिणाम और संस्करण नियंत्रण जैसे कई लाभ मिलते हैं।
IaC के लिए टेराफ़ॉर्म से परिचय
IaC के लिए सबसे लोकप्रिय टूल में से एक टेराफ़ॉर्म है, जो HashiCorp द्वारा विकसित एक ओपन-सोर्स टूल है।
टेराफ़ॉर्म आपको अपनी आधारभूत संरचना के संसाधनों को मनुष्यों के लिए आसानी से पढ़ी जा सकने वाली कॉन्फ़िगरेशन फ़ाइलों में परिभाषित करने देता है। इसके बाद यह इन फ़ाइलों का उपयोग AWS, Azure, GCP जैसे विभिन्न क्लाउड प्रदाताओं और अन्य सेवाओं में संसाधनों का प्रावधान और प्रबंधन करने के लिए करता है।
टेराफ़ॉर्म का HCL वाक्यविन्यास
टेराफ़ॉर्म अपनी घोषणात्मक भाषा का उपयोग करता है, जिसे HashiCorp कॉन्फ़िगरेशन भाषा (HCL) कहा जाता है। HCL को इस तरह बनाया गया है कि मनुष्य इसे आसानी से पढ़ और लिख सकें, जिससे आपकी आधारभूत संरचना की परिभाषाएँ स्पष्ट रहती हैं।
यहाँ AWS VPC (वर्चुअल प्राइवेट क्लाउड) को परिभाषित करने वाला HCL का एक छोटा उदाहरण है:
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "my-vpc"
}
}टेराफ़ॉर्म की मुख्य कार्यप्रणाली
टेराफ़ॉर्म आपकी आधारभूत संरचना को प्रबंधित करने के लिए तीन चरणों वाली एकसमान कार्यप्रणाली अपनाता है:
terraform init: आपकी कार्य निर्देशिका को आरंभ करता है और आवश्यक प्रदाता प्लगइन डाउनलोड करता है।terraform plan: एक निष्पादन योजना तैयार करता है, जिसमें दिखाया जाता है कि टेराफ़ॉर्म आपकी आधारभूत संरचना में कौन-से बदलाव करेगा।terraform apply: योजना में बताए गए बदलावों को लागू करता है और आपके संसाधनों का प्रावधान या उनमें संशोधन करता है।
GitHub एक्शंस से स्वचालन
टेराफ़ॉर्म को GitHub एक्शंस के साथ एकीकृत करने से आपकी IaC रणनीति और अधिक प्रभावी हो जाती है। इससे आप अपनी आधारभूत संरचना के परिनियोजन पाइपलाइन के महत्वपूर्ण चरणों को स्वचालित कर सकते हैं।
GitHub एक्शंस के साथ आप:
- हर पुल रिक्वेस्ट पर
terraform planअपने-आप चला सकते हैं। - यह सुनिश्चित कर सकते हैं कि आधारभूत संरचना के बदलावों की समीक्षा और स्वीकृति हो।
- नियंत्रित परिनियोजन के लिए
terraform applyको स्वचालित कर सकते हैं।
आपकी टेराफ़ॉर्म वर्कफ़्लो फ़ाइल
टेराफ़ॉर्म के लिए GitHub एक्शंस वर्कफ़्लो आपकी रिपॉज़िटरी की .github/workflows/ निर्देशिका में मौजूद YAML फ़ाइल में परिभाषित किया जाता है। यह फ़ाइल बताती है कि वर्कफ़्लो कब चलेगा और कौन-से चरण पूरे करेगा।
यहाँ बदलावों की योजना बनाने वाले वर्कफ़्लो की एक बुनियादी संरचना है:
name: 'Terraform CI'
on:
pull_request:
branches:
- main
jobs:
terraform:
name: 'Terraform'
runs-on: ubuntu-latest
steps:
# Your workflow steps will go here
टेराफ़ॉर्म सेटअप और आरंभिकरण चरण
कोई भी टेराफ़ॉर्म कमांड चलाने से पहले, आपके वर्कफ़्लो को आपका कोड चेक आउट करना, टेराफ़ॉर्म CLI सेट अप करना और कार्य निर्देशिका को आरंभ करना होगा।
hashicorp/setup-terraform एक्शन इसे आसान बनाता है:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.5.x
- name: Terraform Init
run: terraform initटेराफ़ॉर्म योजना चरण
terraform plan कमांड किसी भी IaC वर्कफ़्लो का एक महत्वपूर्ण चरण है। यह बिना कोई बदलाव किए परीक्षण करता है, ताकि यह निर्धारित किया जा सके कि आपकी कॉन्फ़िगरेशन फ़ाइलों में परिभाषित वांछित स्थिति प्राप्त करने के लिए कौन-से कार्य आवश्यक हैं।
इस चरण से आप अपने क्लाउड परिवेश में वास्तव में कोई बदलाव करने से पहले प्रस्तावित बदलावों की समीक्षा कर सकते हैं।
- name: Terraform Plan
run: terraform plan
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}त्वरित जाँच: टेराफ़ॉर्म योजना
मुख्य कमांड की समझ आपके स्वचालित वर्कफ़्लो में टेराफ़ॉर्म का प्रभावी उपयोग करने के लिए आवश्यक है।
टेराफ़ॉर्म लागू करने से जुड़ी बातें
terraform apply कमांड वह चरण है जहाँ आपकी आधारभूत संरचना में वास्तविक बदलाव किए जाते हैं।
स्वचालित पाइपलाइनों में सामान्य तरीका यह है कि terraform apply को केवल plan के आउटपुट की मानवीय समीक्षा के बाद या केवल विशिष्ट शाखाओं में विलय करने पर चलाया जाए, जैसे main या production। इससे आधारभूत संरचना में अनजाने या अस्वीकृत बदलाव होने से बचाव होता है।
टेराफ़ॉर्म और एक्शंस के साथ IaC: पुनरावलोकन
इस पाठ में हमने देखा कि कोड के रूप में आधारभूत संरचना (IaC) कोड का उपयोग करके आधारभूत संरचना प्रबंधित करने में कैसे सहायता करती है। हमने IaC के प्रमुख टूल के रूप में टेराफ़ॉर्म पर ध्यान दिया और इसके HCL वाक्यविन्यास तथा आवश्यक init, plan, apply कार्यप्रणाली के बारे में सीखा।
आपने यह भी देखा कि GitHub एक्शंस terraform init और terraform plan चरणों को स्वचालित कर सकते हैं, जिससे आपके आधारभूत संरचना परिनियोजन अधिक सुरक्षित, अधिक एकरूप और आपकी सीआई/सीडी पाइपलाइनों में पूरी तरह एकीकृत हो जाते हैं।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “Terraform और GitHub Actions के साथ IaC” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Terraform और GitHub Actions के साथ IaC” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Terraform और GitHub Actions के साथ IaC” में मैं क्या सीखूँगा?
जानिए कि आधारभूत संरचना का प्रावधान और प्रबंधन करने के लिए Terraform को अपने GitHub Actions वर्कफ़्लो में कैसे एकीकृत किया जाता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“Terraform और GitHub Actions के साथ IaC” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Terraform और GitHub Actions के साथ IaC
- क्लाउड संसाधनों का प्रबंधन
- आधारभूत संरचना अद्यतन स्वचालित करना
- Terraform state और remote backend का प्रबंधन