IaC CI GitLab और Terraform के साथ

ब्लॉग

IaC CI GitLab और Terraform के साथ

कोड (IaC) के रूप में अपने बुनियादी ढांचे का वर्णन करने और वास्तव में तैनात करने के लिए आजकल बहुत सारे विकल्प हैं - यहाँ हम इस पर एक नज़र डालने वाले हैं कि IaC को स्पिन करने के लिए तेजी से लोकप्रिय टेराफॉर्म टूल का उपयोग करके कुछ त्वरित और गंदे निरंतर एकीकरण (CI) कैसे सेट किया जाए। और Gitlab एक स्रोत-नियंत्रण और CI मंच के रूप में।

यह कैसे काम करता है? ठीक है, आदर्श रूप से, आप अपने पसंदीदा संपादक (एमएस वर्ड की अनुमति नहीं है) का उपयोग करके अपनी टेराफॉर्म संसाधन फ़ाइलों को संपादित करते हैं, गिटलैब के लिए गिट के माध्यम से रेपो को धक्का दें और गिटलैब की सीआई पाइपलाइन सीधे आपके बुनियादी ढांचे में आवश्यक परिवर्तन करेगी। इसमें कुछ घटक हैं:

  • रेपो और कोड के प्रबंधन के लिए आपके स्थानीय गिट और टेराफॉर्म टूल
  • स्रोत और सीआई नौकरी नियंत्रण/ट्रिगर के लिए गिटलैब उदाहरण
  • नौकरी निष्पादित करने के लिए Gitlab CI एजेंट (Gitlab रनर) चलाने वाली मशीन
  • टेराफॉर्म योजनाओं को सीआई-निष्पादित करने के लिए गिटलैब रनर मशीन पर टेराफॉर्म पर्यावरण।

सबसे पहले, आपको अपने गिटलैब इंस्टेंस पर अपना टेराफॉर्म रेपो सेट करके शुरू करना चाहिए, और इसे स्थानीय रूप से क्लोन करना चाहिए (हां, निश्चित रूप से, आपके पास गिट होना चाहिए!) उदाहरण के लिए हम आपके Gitlab के URL को |_+_| के रूप में मानेंगे।

आपको टेराफॉर्म बाइनरी को यहां से डाउनलोड और इंस्टॉल भी करना चाहिए https://www.terraform.io/ .

एक फ़ाइल बनाएँ |_+_| प्रोजेक्ट की जड़ में टेराफॉर्म HTTP स्टेट बैकएंड का उपयोग करना जानता है:

gitlab.com

उसके कहने और किए जाने के बाद, आपको टेराफॉर्म कार्यक्षेत्र को प्रारंभ करना चाहिए (थोड़ा मोड़ के साथ):

backend.tf

टेराफॉर्म बैकएंड को आमतौर पर स्थानीय रूप से संग्रहीत किया जाता है, लेकिन हम इसे |_+_|में एक एचटीपी रिमोट के रूप में घोषित करते हैं और इसे आपके गिटलैब के टेराफॉर्म प्रोजेक्ट पर इनिशियलाइज़ करते हैं ताकि यह इसका उपयोग करने वाले विभिन्न एजेंटों (गिटलैब रनर सहित) के बीच सुसंगत बना रहे। अन्यथा प्रत्येक एजेंट (मानव या मशीन) का अपना राज्य होगा जो परिभाषित बुनियादी ढांचे के डुप्लिकेट बनाने की ओर जाता है - और सीआई पाइपलाइन के प्रत्येक रन पर!

#डिवाइप्स #इंफ्रास्ट्रक्चर-एज-कोड #gitlab-ci #terraform

माध्यम.कॉम

IaC CI GitLab और Terraform के साथ

स्रोत और सीआई नौकरी नियंत्रण/ट्रिगर के लिए गिटलैब उदाहरण; नौकरी निष्पादित करने के लिए Gitlab CI एजेंट (Gitlab रनर) चलाने वाली मशीन; टेराफॉर्म पर्यावरण पर ... एक कोड के रूप में बुनियादी ढांचा इतना आसान कभी नहीं रहा।