क्लाउड संसाधनों का एकीकरण परीक्षण
Terraform द्वारा बनाए गए वास्तविक क्लाउड संसाधनों के सही परिनियोजन और कार्यक्षमता की पुष्टि करने के लिए एकीकरण परीक्षण लागू करें।
क्लाउड संसाधनों का एकीकरण परीक्षण, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एकीकरण परीक्षण क्या है
स्वागत है! इस पाठ में हम आपके Terraform कॉन्फ़िगरेशन के लिए एकीकरण परीक्षण का अध्ययन करेंगे। इकाई परीक्षणों के विपरीत, जो अलग-अलग घटकों की स्वतंत्र रूप से जाँच करते हैं, एकीकरण परीक्षण यह सत्यापित करते हैं कि आपकी अवसंरचना के कई भाग सही ढंग से साथ काम करते हैं।
Terraform के संदर्भ में, इसका अर्थ वास्तविक क्लाउड संसाधनों को परिनियोजित करना और फिर उनके व्यवहार तथा परस्पर क्रियाओं की जाँच करना है।
Terraform का एकीकरण परीक्षण क्यों करें
Terraform के लिए एकीकरण परीक्षण महत्वपूर्ण हैं, क्योंकि वे आपको भरोसा दिलाते हैं कि आपका कोड:
- सही ढंग से परिनियोजित होता है: यह सत्यापित करता है कि संसाधन अपेक्षा के अनुसार बनाए गए हैं।
- अपेक्षित रूप से काम करता है: केवल वाक्यविन्यास नहीं, बल्कि कार्यक्षमता की जाँच करता है।
- निर्भरताओं को संभालता है: यह सुनिश्चित करता है कि परस्पर जुड़े संसाधन आपस में संवाद करें।
- प्रतिगमन रोकता है: बदलाव किए जाने पर आने वाली समस्याओं को पकड़ता है।
बात नियंत्रित वातावरण में वास्तविक व्यवस्था का परीक्षण करने की है।
टेराटेस्ट का परिचय
यद्यपि आप कस्टम स्क्रिप्ट लिख सकते हैं, Terraform के एकीकरण परीक्षण के लिए सबसे लोकप्रिय उपकरण टेराटेस्ट है। यह HashiCorp द्वारा विकसित एक मुक्त-स्रोत Go लाइब्रेरी है।
टेराटेस्ट आपको ये कार्य करने देता है:
- Terraform को परिनियोजित करने के लिए Go कोड लिखना।
- परिनियोजित संसाधनों पर अभिकथन चलाना।
- परीक्षणों के बाद संसाधनों को नष्ट करना।
यह Terraform, क्लाउड API और अन्य प्रणालियों के साथ संपर्क के लिए सहायक सुविधाएँ उपलब्ध कराता है।
टेराटेस्ट सेट अप करना
टेराटेस्ट का उपयोग करने के लिए आपके कंप्यूटर पर Go इंस्टॉल होना चाहिए। Go तैयार होने के बाद, आप अपने परीक्षणों के लिए एक नया Go मॉड्यूल बनाएँगे:
1. अपने परीक्षणों के लिए एक निर्देशिका बनाएँ (जैसे, test/)।
2. उसके भीतर Go मॉड्यूल प्रारंभ करें:
cd test
go mod init my_tf_testsटेराटेस्ट निर्भरता जोड़ें
अपने Go मॉड्यूल को प्रारंभ करने के बाद, आपको टेराटेस्ट को एक निर्भरता के रूप में जोड़ना होगा। यह कमांड लाइब्रेरी प्राप्त करता है और आपकी go.mod फ़ाइल को अद्यतन करता है:
go get github.com/gruntwork-io/terratest/modules/terraformहमारा परीक्षण Terraform मॉड्यूल
आइए एक सरल Terraform कॉन्फ़िगरेशन बनाएँ, जिसका हम परीक्षण करना चाहते हैं। यह एक मूल S3 बकेट होगा। इसे s3-module/main.tf के रूप में सहेजें:
resource "aws_s3_bucket" "example" {
bucket = "my-unique-test-bucket-12345"
tags = {
Environment = "test"
ManagedBy = "Terraform"
}
}अपना पहला टेराटेस्ट लिखें
अब अपनी Go परीक्षण फ़ाइल लिखें। test/s3_test.go जैसी एक फ़ाइल बनाएँ। मुख्य चरण ये हैं:
- Terraform विकल्प परिभाषित करें (कॉन्फ़िगरेशन का पथ)।
- Terraform को प्रारंभ और लागू करें।
- अभिकथन चलाएँ।
- संसाधनों को नष्ट करें।
इससे हर परीक्षण चलने के बाद एक स्वच्छ स्थिति सुनिश्चित होती है।
टेराटेस्ट: Init, Apply और Assert
यहाँ हमारे S3 बकेट परीक्षण का Go कोड है। ध्यान दें कि हम अवसंरचना का प्रावधान करने के लिए terraform.InitAndApply का उपयोग करते हैं और फिर अभिकथनों के लिए आउटपुट प्राप्त करते हैं या AWS API को कॉल करते हैं।
package test
import (
"testing"
"github.com/gruntwork-io/terratest/modules/aws"
"github.com/gruntwork-io/terratest/modules/terraform"
"github.com/stretchr/testify/assert"
)
func TestS3BucketCreation(t *testing.T) {
t.Parallel()
terraformOptions := &terraform.Options{
TerraformDir: "../s3-module",
}
// Defer destroy to ensure cleanup
defer terraform.Destroy(t, terraformOptions)
// Init and apply Terraform
terraform.InitAndApply(t, terraformOptions)
// Get the bucket name directly from the config or outputs
bucketName := "my-unique-test-bucket-12345"
// Assertions
aws.AssertS3BucketExists(t, "us-east-1", bucketName)
tags := aws.GetS3BucketTags(t, "us-east-1", bucketName)
assert.Equal(t, "test", tags["Environment"])
}अपना एकीकरण परीक्षण चलाएँ
अपना टेराटेस्ट चलाने के लिए टर्मिनल में अपनी test/ निर्देशिका पर जाएँ और Go परीक्षण कमांड चलाएँ। -v फ़्लैग विस्तृत आउटपुट दिखाता है।
टेराटेस्ट ये कार्य करेगा:
- Terraform को प्रारंभ करेगा।
- कॉन्फ़िगरेशन लागू करेगा।
- अभिकथन करेगा।
- बनाए गए संसाधनों को नष्ट करेगा।
cd test
go test -vएकीकरण परीक्षणों के लिए सर्वोत्तम अभ्यास
प्रभावी एकीकरण परीक्षण के लिए इन सुझावों को ध्यान में रखें:
- पृथक्करण: टकराव से बचने के लिए संसाधनों के लिए अद्वितीय नाम या यादृच्छिक प्रत्यय इस्तेमाल करें।
- सफ़ाई: परीक्षणों के बाद हमेशा संसाधनों को नष्ट करें (
defer terraform.Destroy)। - लागत: संसाधनों की लागत के प्रति सावधान रहें। छोटे और कम लागत वाले संसाधनों का उपयोग करें।
- गति: एकीकरण परीक्षण इकाई परीक्षणों से धीमे होते हैं। इन्हें कम बार चलाएँ, संभवतः CI/CD में।
- यथार्थता: उसी क्लाउड वातावरण (या समर्पित परीक्षण खाते) के विरुद्ध परीक्षण करें, जहाँ आप परिनियोजन करेंगे।
अपनी समझ जाँचें
Terraform कॉन्फ़िगरेशन के लिए एकीकरण परीक्षणों का उपयोग करने का प्राथमिक लाभ निम्नलिखित में से कौन-सा है?
पुनरावलोकन: एकीकरण परीक्षण
आपने Terraform के लिए एकीकरण परीक्षण के बारे में सीख लिया है! हमने इन विषयों को शामिल किया:
- एकीकरण परीक्षण क्या होते हैं और Terraform के लिए वे महत्वपूर्ण क्यों हैं।
- एक Go लाइब्रेरी के रूप में टेराटेस्ट इन परीक्षणों को लिखने में कैसे सहायता करता है।
- मूल कार्यप्रवाह: सेटअप, लागू करना, पुष्टि करना और नष्ट करना।
- प्रभावी और कम लागत वाले एकीकरण परीक्षण लिखने के प्रमुख सर्वोत्तम अभ्यास।
एकीकरण परीक्षण यह भरोसा दिलाते हैं कि आपकी अवसंरचना वास्तविक दुनिया में सही ढंग से व्यवहार करती है।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “क्लाउड संसाधनों का एकीकरण परीक्षण” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “क्लाउड संसाधनों का एकीकरण परीक्षण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“क्लाउड संसाधनों का एकीकरण परीक्षण” में मैं क्या सीखूँगा?
Terraform द्वारा बनाए गए वास्तविक क्लाउड संसाधनों के सही परिनियोजन और कार्यक्षमता की पुष्टि करने के लिए एकीकरण परीक्षण लागू करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“क्लाउड संसाधनों का एकीकरण परीक्षण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Terraform `validate` और `fmt`
- Terratest के साथ यूनिट परीक्षण
- क्लाउड संसाधनों का एकीकरण परीक्षण
- कोड के रूप में नीति और अनुपालन जाँच